Docker 常用命令与时区配置指南
#作者:程宏斌
文章目录
- 处理容器和系统时间不同步问题(时区)
- docker常用命令
- Docker-compose
处理容器和系统时间不同步问题(时区)
- 可用(修改时区):
timedatectl set-timezone "Asia/Kolkata" timedatectl set-timezone "Asia/Shanghai" - 修改时间:timedatectl set-time 15:58:30
- 修改日期:timedatectl set-time 20151120
- 时间+日期:timedatectl set-time ‘16:10:40 2015-11-20’
或者:
- 复制相应的时区文件,替换系统时区文件;
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
有的容器基础镜像是有这个文件的,直接拷贝就可以,如果不能拷贝,则是因为创建镜像时依赖的基础镜像 运行的容器没有这两个文件,使用下面的办法
- 创建文件夹
mkdir -p /usr/share/zoneinfo/Asia - 回到宿主机,复制宿主机里的文件到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia - 进入容器
docker exec -it 容器Id或容器名 bash
执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - 验证date
bash-5.0# date
Tue Sep 17 13:54:25 CST 2019
更改后重启即可生效
docker常用命令
- 容器常用的管理命令:
docker --version (查版本)
docker search (想要搜索的东西)
docker ps -a 查看已经创建的容器
docker ps -s 查看已经启动的容器
docker rename old_name new_name 重命名一个容器
docker logs con_name 获取容器日志
docker inspect 查看容器的详细信息
docker top 查看容器内部的进程
docker start -ia web1 启动并且进入一个容器
docker start/stop id/name 启动/停止某个容器
docker run -i(交互式) -t(终端) centos /bin/bash 运行进入centos
docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
docker exec -ti id 启动一个伪终端以交互式的方式进入某个容器(使用exit退出后容器不停止运行)
docker run --name test -ti centos /bin/bash 复制centos容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker build -t soar/centos:7.1 目录下的Dockerfile创建soar/centos:7.1的镜像
docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
docker images 查看本地镜像域名 docker rm id/name 删除容器 docker rmi id/name 删除镜像
-
导出镜像到指定文件:
docker save -o centos.tar centos:latest docker export -o centos.tar centos:latest
save导出的文件要大于export export导出的文件无法保留镜像所有得历史,不能回滚
只做备份用save,load即可,若是启动容器后,内容有变化需要备份,用export,import -
指定文件导入成镜像:
docker load -i centos.tar centos:latest docker import centos.tar centos:latest
docker run --name test -ti centos /bin/bash 复制centos容器并且重命名为test且运行,然后以伪终端交互式方式进入容器,运行bash
docker run -i -t centos /bin/bash 立即进入centos
docker build -t soar/centos:7.1 . 通过当前目录下的Dockerfile创建一个soar/centos:7.1的镜像
docker run -d -p 2222:22 --name test soar/centos:7.1 以镜像soar/centos:7.1创建名为test的容器,并以后台模式运行,并做端口映射到宿主机2222端口,P参数重启容器宿主机端口会发生改变
更改docker的默认存储位置(空间不足的时候)
vim /etc/docker/daemon.json
“graph”: “/data/docker”,
Docker-compose
定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务
卸载docker需要删除/etc/docker 下的.Json文件才行
Docker-compose -f xx.yaml up -d
Docker info:
Client: #docker客户端信息
Debug Mode: false
Server: #docker服务器端信息
Containers: 2 #容器数量
Running: 1 #正在运行的数量
Paused: 0 #暂停的数量
Stopped: 1 #已停止的数量
Images: 10 #镜像数量
Server Version: 19.03.12 #docker服务器版本
Storage Driver: overlay2 #docker存储驱动程序
overlay有两层一个upper文件系统和一个lower文件系统,分别代表Docker的镜像层和容器层
Backing Filesystem: xfs #文件系统
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file #日志驱动程序
Cgroup Driver: cgroupfs #Cgroup驱动程序
Plugins: #插件信息
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive #Swarm状态
Runtimes: runc #runtimes信息
Default Runtime: runc #默认runtime
Init Binary: docker-init
containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
init version: fec3683
Security Options: #安全选项
seccomp
Profile: default
Kernel Version: 3.10.0-1127.el7.x86_64 #linux内核版本
Operating System: CentOS Linux 7 (Core) #linux操作系统
OSType: linux #操作系统类型
Architecture: x86_64
CPUs: 1 #宿主机CPU数量
Total Memory: 972.3MiB #宿主机内存
Name: xxwlog #宿主机名称
ID: TJWU:XZF3:PBLD:DD3S:6FBT:VGY2:HA6P:JTHE:FFUD:7R3Y:JLUY:J62F
Docker Root Dir: /var/lib/docker #docker根目录
Debug Mode: false
Registry: https://index.docker.io/v1/ #镜像仓库
Labels:
Experimental: false
Insecure Registries: #非安全镜像仓库
127.0.0.0/8
