docker|Docker学习6-Docker镜像commit操作案例

docker|Docker学习6-Docker镜像commit操作案例

文章图片

docker|Docker学习6-Docker镜像commit操作案例

文章图片

docker|Docker学习6-Docker镜像commit操作案例

文章图片

docker|Docker学习6-Docker镜像commit操作案例

文章图片

docker|Docker学习6-Docker镜像commit操作案例

在上一篇中 , 我们知道了docker是基于联合文件系统的分层镜像 。 而且也知道了镜像是只读的 , 容器才是可以写的 。 那么 , 如果我们要修改镜像 , 修改之后 , 怎么提交呢?本文 , 凯哥将介绍 , docker的提交命令

命令公式:
docker commit  -m=“提交的描述信息” -a=\"作者\" 容器id 要创建的目标镜像名称:[标签名

演示案例:
那么我们就基于从远程仓库pull下来的Ubuntu 。 添加vim命令后 , 重新打一个新的镜像 。
docker commit 提交容器副本使其变为一个新的镜像 。

我们启动原始下载的Ubuntu 。 使用vim命令如下:

命令未发现 。
安装vim命令:
在docker上执行以下两条命令:
apt-get update
apt-get -y install vim

需要注意
1:上面两条命令都是在容器内部执行的(因为我们是要扩展容器功能的)
2:apt-get 这两个是连接在一起的 。
执行完vim后 。 我们试试此命令是否可以正常使用:

说明vim已经安装成功了 。
在docker宿主机使用命令公式:
docker commit -m\"提交的描述信息\" - a\"作者\" 容器id 要创建的目标镜像名:[标签名


注意其中的:50dba2e06051是通过docker ps获取到的

docker commit之后 , 我们在通过 docker images命令查看当前宿主机上有多少个镜像:

我们可以看到原来Ubuntu大小是72.8M 。 当我们添加了vim后的镜像是179M了 。 说明 , 我们添加了vim的镜像制作成功了 。
启动新镜像 , 和原来镜像对比:新的镜像支持vim命令 。
总结:

【docker|Docker学习6-Docker镜像commit操作案例】Docker中的镜像分层 , 支持通过扩展现有的镜像 , 创建新的镜像 。 类似于我们Java中的类继承 。 一个类继承于一个Base的基础类 , 自己在按照自己需要来扩展一样 。 新的镜像是从base镜像一层一层叠加生成的 , 每安装一个软件 , 就在现有的镜像的基础上增加一层 。