Docker常用操作(CentOS 7)
1. 配置加速器(网易云)
1.1. 修改配置
修改文件:/etc/docker/daemon.json
| {"registry-mirrors":["http://hub-mirror.c.163.com"]} | 
配置好后需要重启
注意:这里使用CentOS7,CentOS6的配置方法不同。没有文件则新建。
1.2. 重启docker
| $ systemctl daemon-reload $ systemctl restart docker | 
2. 基础操作
2.1. 查询docker信息
| docker info | 
2.2. 查看docker版本
| $ docker --version | 
2.3. 查看命令帮助
| $ docker --help $ man docker-images #查看镜像命令说明 | 
3. 镜像操作
3.1. 列出所有镜像
| $ docker images $ docker images -a #列出所有镜像 $ docker images -aq #列出所有镜像ID | 
3.2. 镜像查询
根据镜像名查询仓库中所有镜像
| # docker search [OPTIONS] 镜像名 # docker search tomcat # docker search -s 30 tomcat #查找30颗星以上的镜像 | 
3.3. Docker仓库地址
| https://hub.docker.com/ | 
3.4. 安装镜像
| $ docker pull nginx:latest | 
3.5. 删除镜像
| $ docker rmi -f 3fa112fd3642 #镜像ID | 
3.6. 保存镜像
将自定义的一个容器保存成一个镜像
| docker commit -m="delete docs" -a="gongxr" e218edb10161 gxr/tomcat:1.0 | 
各个参数说明:
l -m: 提交的描述信息
l -a: 指定镜像作者
l e218edb10161:容器ID
l gxr/tomcat:1.0:指定要创建的镜像名和版本号
4. 容器操作
4.1. 查看容器
| $ docker ps -a # 查看所有容器 $ docker ps # 查看正在运行的容器 | 
4.2. 新建并运行容器
| docker run [OPTIONS] IMAGE [COMMAND] [ARG...] $ docker run -d --name nginx-test -p 18080:80 nginx | 
参数说明:
l --name nginx-test:容器名称。
l -p 18080:80: 端口进行映射,将本地 18080 端口映射到容器内部的 80 端口。
l -d: 设置容器后台运行。
l -it: 交互式登录
l nginx:镜像名
| docker run -it centos # 新建并运行容器,交互式登录,打开伪终端 docker run -it --name centos_1 centos # 重命名为centos_1 docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done" | 
4.3. 启停容器
| docker start a0ea4b82de57 #启动,容器ID docker restart a0ea4b82de57 #重启 docker stop cd47805da0f6 #停止 docker kill cd47805da0f6 #强制停止 | 
4.4. 进入容器(正在运行)
| docker attach 容器ID #进入容器并打开交互终端 docker exec -it 容器ID /bin/bash #进入容器并打开交互终端 | 
Attach:直接进入容器启动命令的终端,不会启动新的进程
Exec:在容器中打开新的终端,并可以启动新的进程
4.5. 执行命令
直接执行容器内命令并返回结果,但不进入终端,默认使用bash
| docker exec 容器ID 执行命令 docker exec cd47805da0f6 ls -l | 
4.6. 退出容器
| $ exit 关闭并退出 Ctrl+Q+P 退出但不关闭 | 
4.7. 删除容器
| $ docker rm 8f3c5e5f4327 #容器ID $ docker rm -f 8f3c5e5f4327 #强制删除 $ docker rm -f $(docker ps -qa) #删除所有容器 $docker ps -qa | xargs docker rm #删除所有容器 | 
4.8. 查看容器日志
| docker logs -t -f --tail 10 0721dba03b7e | 
l -t 是加入时间戳
l -f 跟随最新的日志打印
l --tail 数字 显示最后多少条
4.9. 查看容器内运行的进程
| docker top 0721dba03b7e | 
4.10. 查看容器详细信息
| docker inspect 0721dba03b7e | 
4.11. 容器文件拷贝
把文件从容器拷贝到宿主机中
| docker cp 容器ID:容器路径 本地路径 docker cp 8a06155fa70b:/usr/local/tomcat/test.txt /home/root | 
把文件从宿主机拷贝到容器中
| docker cp 本地路径 容器ID:容器路径 docker cp /home/root/test.txt 8a06155fa70b:/usr/local/tomcat | 
4.12. 容器安装vim
| $ apt-get update $ apt-get install -y vim | 
4.13. 容器导出
| $ docker export cb3056931dda > nginx2.tar | 
4.14. 容器导入
| $ cat nginx2.tar | docker import - nginx2:v1.0 | 
5. 容器数据卷
数据卷用于容器的持久化、继承和数据共享。
5.1. 添加数据卷
| docker run -it -v /宿主机目录:/容器内目录 镜像名 /bin/bash | 
| docker run -it -v /root/hostVol:/usr/local/containerVol centos /bin/bash #默认读写 | 
5.2. 数据卷权限
设置只读权限,默认可读写
| docker run -it -v /root/hostVol:/usr/local/containerVol:ro centos /bin/bash | 
5.3. 查看容器信息
查看容器的数据卷挂载信息如目录、权限等
| docker inspect 容器ID | 
5.4. 数据卷容器
命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。
容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。
--volumes-from:容器间数据卷传递共享。
| docker run -it --name 容器名 --volumes-from 共享容器名 镜像名 | 
| docker run -it --name dc2 --volumes-from dc1 centos | 
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号