常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ docker images -f dangling=true   #显示虚悬镜像
$ docker image prune #删除虚悬镜像
$ docker images -a #显示所有镜像(包括中间层镜像)
$ docker images --format "{{.ID}}: {{.Repository}}" #指定格式列出镜像
$ docker diff webserver #查看容器的具体改动
$ docker system df #查看镜像、容器、数据卷所占用的空间
$ docker history nginx:v2 #查看镜像内的历史记录
$ docker build -t nginx:v3 . #使用Dockerfile保存镜像
$ docker image rm ubuntu #删除镜像
$ docker run -t -i ubuntu:14.04 /bin/bash #交互式启动容器
$ docker run -dit ubuntu #后台运行启动
$ docker exec -i 69d1 bash #进入容器
$ docker export 7691a814370e > ubuntu.tar #导出容器
$ cat ubuntu.tar | docker import - test/ubuntu:v1.0 #导入容器快照
$ docker container ls -a #列出所有容易(包括终止状态的容器)
$ docker container rm trusting_newton #删除一个处于终止状态的容器
$ docker container prune #清理所有处于终止状态的容器
$ docker pull centos #下载官方 centos 镜像到本地
$ docker tag ubuntu:17.10 username/ubuntu:17.10 #标记镜像名称
$ docker push username/ubuntu:17.10 #将自己的镜像推送到 Docker Hub
$ docker search username #查新镜像
$ curl 127.0.0.1:5000/v2/_catalog #查看私有仓库镜像

数据管理

1
2
3
4
5
6
7
$ docker volume create my-vol		#新建一个数据卷
$ docker volume ls #查看所有的数据卷
$ docker volume inspect my-vol #查看指定数据卷的信息
#挂载数据卷
$ docker volume rm my-vol #删除数据卷
$ docker volume prune #清楚无主的数据卷
$ docker inspect web #查看容器信息

注意事项

如果你不想使用 127.0.0.1:5000 作为仓库地址,比如想让本网段的其他主机也能把镜像推送

到私有仓库。你就得把例如 192.168.199.100:5000 这样的内网地址作为私有仓库地址,这时

你会发现无法成功推送镜像。

这是因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 配置来取消这

个限制,或者配置能够通过 HTTPS 访问的私有仓库。

请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存

在请新建该文件)

1
{ "registry-mirror": [ "https://registry.docker-cn.com" ],"insecure-registries": [ "192.168.199.100:5000" ] }