2 交互式运行容器
docker run -it centos
docker container ls -a
现在查看就是 up 状态了
现在退出刚才运行的 centos
再次查看容器状态
可还发现有很多重复的退出的容器 centos,怎么删除重复的呢
经过一顿docker container rm
即可
3 构建自定义的 Docker image
- 先进入原 image centos
- 由于本身没有 vim,我们正好安装下
yum install -y yum
安装完成后,退出该 image
提交刚才安装过 vim 的新的image
可见的确大点
我们直接见证 image 的变迁历史即可
但不推荐这种创建新 image 的方式,因为别人不知道这个 image 到底经历了啥,即是否安全呢?
所以我们就常通过创建 Dockerfile 文件明晰 image 变化。
FROM centos RUN yum install -y vim
docker build -t javaedge/centos-vim-new .
从日志可见中间有个临时中转生成的 image,最后完成时被删除。
[+] Building 20.9s (6/6) FINISHED => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 77B 0.0s => [internal] load metadata for docker.io/library/centos:latest 0.0s => [1/2] FROM docker.io/library/centos 0.0s => => resolve docker.io/library/centos:latest 0.0s => [2/2] RUN yum install -y vim 20.3s => exporting to image 0.5s => => exporting layers 0.5s => => writing image sha256:6fa5d61ccad62a224b2fd2d8d8526aa52bc12f42c6b27ab31e7df1f62768705d 0.0s => => naming to docker.io/javaedge/centos-vim-new 0.0s
所以以后直接分享 Dockerfile 即可,别人拿到文件就能创建自己想要的 image。