Docker 命令类别划分
- Docker环境信息 — docker [info|version]
- 容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
- 容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]
- 容器rootfs命令 — docker [commit|cp|diff]
- 镜像仓库 — docker [login|pull|push|search]
- 本地镜像管理 — docker [build|images|rmi|tag|save|import|load]
- 容器资源管理 — docker [volume|network]
- 系统日志信息 — docker [events|history|logs]
Docker 命令图解

0x001 Docker 服务的启动与关闭命令
1.1 启动
systemctl enable docker
systemctl start docker
1.2 重启
sudo systemctl daemon-reload
systemctl restart docker
sudo service docker restart
1.3 关闭
service docker stop
systemctl stop docker
0x002 Docker 查看信息命令
docker version
docker info
0x003 Docker 本地镜像管理命令
3.1 列出本地镜像
docker images
docker images ubuntu
3.2 删除本地镜像
docker rmi -f 镜像名1 镜像名2 ...
3.3 标记本地镜像
docker tag
例:docker tag ubuntu:15.10 runoob/ubuntu:v3
3.4 使用 Dockerfile 创建镜像
docker build
例1: docker build -t runoob/ubuntu:v1 .
例2: docker build github.com/creack/docker-firefox
例3: docker build -f /path/to/a/Dockerfile .
例4: docker build -t test/myapp .
3.5 查看指定镜像的创建历史
docker history
例: docker history runoob/ubuntu:v3
3.6 导入指定镜像保存到 tar 归档文件中
docker save
例: docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
3.7 导出使用 docker save 命令保存的 tar 归档文件中的镜像
例1: docker load < busybox.tar.gz
例2: docker load --i fedora.tar
3.8 从归档文件中创建镜像
docker import my_ubuntu_v3.tar runoob/ubuntu:v4
0x004 Docker 镜像仓库命令
4.1 登陆/登出到一个Docker镜像仓库
docker login -u 用户名 -p 密码
docker logout
4.2 从镜像仓库中下载或者更新指定镜像
docker pull java
docker pull -a java
4.3 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push myapache:v1
4.4 从Docker Hub查找镜像
docker search -s 10 java
0x005 Docker 容器管理操作命令
5.1 创建一个新的容器并运行
例1: docker run --name mynginx -d nginx:latest
例2: docker run -P -d nginx:latest
例3: docker run -p 8080:80 -v /data:/data -d nginx:latest
例4: docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
例5: docker run -it nginx:latest /bin/bash
5.2 杀掉一个运行中的容器
docker kill -s KILL mynginx
5.3 删除一个或多个容器
例1: docker rm -f db01 db02
例2: docker rm -l db
例3: docker rm -v nginx01
例4: docker rm $(docker ps -a -q)
5.4 暂停/恢复 容器中所有的进程
docker pause db01
docker unpause db01
5.5 创建一个新的容器但不启动它
docker create --name myrunoob nginx:latest
5.6 在运行的容器中执行命令
例1: docker exec -it mynginx /bin/sh /root/runoob.sh
例2: docker exec -i -t mynginx /bin/bash
例3: docker exec -it 9df70f9a0714 /bin/bash
5.7 获取容器/镜像的元数据
docker inspect mysql:5.6
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql
5.8 查看容器中运行的进程信息
docker top mymysql
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
5.9 连接到正在运行中的容器
docker attach --sig-proxy=false mynginx
5.10 从服务器获取实时事件
docker events --since="1467302400"
docker events -f "image"="mysql:5.6" --since="1467302400"
5.11 获取容器的日志
docker logs -f mynginx
docker logs --since="2016-07-01" --tail=10 mynginx
5.12 阻塞运行直到容器停止,然后打印出它的退出代码
docker wait CONTAINER
5.13 将文件系统作为一个tar归档文件导出到STDOUT
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
5.14 列出指定的容器的端口映射
docker port mymysql
5.15 从容器创建一个新的镜像
docker commit -a "提交人信息" -m 说明信息" a404c6c174a2 mymysql:v1
5.16 容器与主机之间的数据拷贝
实例1: docker cp /www/runoob 96f7f14e99ab:/www/
实例2: docker cp /www/runoob 96f7f14e99ab:/www
实例3: docker cp 96f7f14e99ab:/www /tmp/
5.17 检查容器里文件结构的更改
docker diff mymysql