码迷,mamicode.com
首页 > 其他好文 > 详细

10-构建镜像

时间:2018-12-19 19:33:23      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:方法   软件   过程   审计   alt   img   存在   原因   时间   

 

Docker 提供了两种构建镜像的方法:

1. docker commit 命令

2. Dockerfile 构建文件

docker commit
docker commit 命令是创建新镜像最直观的方法,其过程包含三个步骤:

1. 运行容器

2. 修改容器

3. 将容器保存为新的镜像

举个例子:在 ubuntu base 镜像中安装 vi 并保存为新镜像。

1. 第一步, 运行容器 

技术分享图片

-it 参数的作用是以交互模式进入容器,并打开终端。412b30588f4a 是容器的内部 ID。

2. 安装 vi

技术分享图片

3. 保存为新镜像
在新窗口中查看当前运行的容器。

技术分享图片

priceless_goldberg是 Docker 为我们的容器随机分配的名字。

执行 docker commit 命令将容器保存为镜像。

技术分享图片

新镜像命名为 ubuntu-with-vi

查看新镜像的属性。

技术分享图片

从 size 上看到镜像因为安装了软件而变大了。

从新镜像启动容器,验证 vi 已经可以使用。

技术分享图片

1. 这是一种手工创建镜像的方式,容易出错,效率低且可重复性弱。比如要在 debian base 镜像中也加入 vi,还得重复前面的所有步骤。

2. 更重要的:使用者并不知道镜像是如何创建出来的,里面是否有恶意程序。也就是说无法对镜像进行审计,存在安全隐患。

既然 docker commit 不是推荐的方法,我们干嘛还要花时间学习呢?

原因是:即便是用 Dockerfile(推荐方法)构建镜像,底层也 docker commit 一层一层构建新镜像的。学习 docker commit 能够帮助我们更加深入地理解构建过程和镜像的分层结构。

 

10-构建镜像

标签:方法   软件   过程   审计   alt   img   存在   原因   时间   

原文地址:https://www.cnblogs.com/mkxfs/p/10145094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!