拉取镜像:

1
docker pull [选项] [Docker Registry地址]<仓库名>:<标签>

如:

1
docker pull ubuntu:14.04 #从默认仓库拉取Ubuntu

启动容器:

1
docker run -it --rm ubuntu:14.04 bash

-it:这是两个参数,-i:交互式操作,-t 终端。

–rm:容器退出后随之将其删除。默认情况下退出的容器并不会立即删除,除非手动 docker rm。

ubuntu:14.04:用 ubuntu:14.04 镜像为基础来启动容器。

bash:放在镜像名后的是命令,指定 Shell 是 bash。

列出镜像

基础命令:

1
docker images

虚悬镜像:无标签镜像,可删除:

1
2
docker images -f dangling=true #查看
docker rmi $(docker images -q -f dangling=true) #删除

其他命令:

1
2
3
4
docker images -a #显示所有中间层镜像(类似maven依赖)
docker images ubuntu #根据仓库名列出镜像
docker images ubuntu:16.04 #列出特定的某个镜像
... #更多其他过滤条件用到再查

commit镜像

前期准备:

1
2
3
4
docker run --name webserver -d -p 80:80 nginx #启动一个nginx容器
docker exec -it webserver bash #通过终端方式进入容器
... #进行一些操作
docker diff webserver #查看具体改动(类似git diff)

保存修改:

1
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

类似git commit,会将上面的改动保存到镜像。下次再运行此镜像,会显示改动后的内容。

commit一般只用来保存临时现场,真正制作镜像使用Dockerfile命令

EOF