设为首页收藏本站language 语言切换
查看: 1530|回复: 0
收起左侧

[分享] 【干货分享】即学即用Docker(五):使用docker commit构建镜像

[复制链接]
发表于 2019-10-9 09:53:20 | 显示全部楼层 |阅读模式

接上篇文章,我们继续介绍镜像,在上一篇文章给大家讲解了镜像的一些基本概念和最基本的操作。今天我们继续和大家说说如何构建镜像


镜像的构建有三种方法:

1. 基于运行的容器状态生成新的镜像,即docker commit;

2. 基于Dockerfile构建镜像,即docker build;

3. 利用Docker Hub自动构建镜像。


那这篇文章就让我们霁一下使用docker commit来构建镜像


通过前面的理论我们已经知道要运行容器就需要使用镜像,显然使用现成的镜像(无论是从Docker Hub还是从别人处获取)在方便不过了。但是实际工作中,现成的镜像往往不能完全满足我们的需求。那这个时候就需要我们基于已有的镜像去构建新的镜像。Docker提供的docker commit命令很好的实现了这一功能,其过程可以总结为:

1)       基于已有的镜像运行容器;

2)       进入容器修改容器;

3)       利用docker commit生成新的镜像。

下面就让我们来看一下示例:



做个小例子:

此示例将下载一个nginx容器,并改变里面的index.html文件内容,生成一个新的镜像并提交,同时让大家借助此实验了解镜像分层的概念。


步骤 1   在后台运行一个nginx容器,取名为nginx1,并映射到宿主机80端口。


步骤 2   构建完以后,我们通过浏览器可以访问容器nginx1。


步骤 3   现在进入容器修改nginx1的index.html文件内容,以便构建一个新的容器



步骤 4   使用浏览器,验证nginx1容器内容修改成功。


步骤 5   将容器nginx1保存为镜像,新镜像命名为nginx:v1.1。并提交新的镜像



步骤 6   比较nginx:v1.1和nginx:latest两个镜像,发现nginx:v1.1多了一个镜像层。

nginx:v1.1的镜像



nginx的镜像


我们清楚的看到nginx:v1.1多了一个镜像层


步骤 7   查看现有的镜像



现在使用docker commit已经完成了新镜像的构建,你也可以去试试了


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-28 01:41 , Processed in 0.207459 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表