docker commit 镜像制作

本文通过实例介绍了如何使用docker commit命令创建镜像,以修改Nginx欢迎页面为例,展示了镜像分层存储的工作原理。然而,文章提醒慎用此命令,因为它可能导致镜像臃肿、难以维护,且生成的黑箱镜像不利于团队协作。建议在实践中寻找更优化的镜像构建方法。
摘要由CSDN通过智能技术生成

镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。

现在让我们以定制一个 Web 服务器为例子,来了解镜像是如何构建的。

[root@docker ~]# docker run --name webserver -d -p 80:80 nginx:1.17.1

# 用 nginx:1.17.1 镜像启动一个容器,命名为 webserver,并且映射了 80 端口。因为是在linux虚拟机上安装的 Docker,则需要在宿主机的浏览器访问虚拟机地址这样我们可以用浏览器去访问这个 nginx 服务器。

直接用浏览器访问的话,我们会看到默认的 Nginx 欢迎页面。
在这里插入图片描述
现在,假设我们不想用这个欢迎页面,希望改成欢迎 Docker 的文字,可以使用 docker exec 命令进入容器,修改其内容。

[root@docker ~]# docker exec -it webserver /bin/bash
root@65eb3987e8ca:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
root@65eb3987e8ca:/# exit
exit

# 以交互式终端方式进入 webserver 容器,并执行了 bash 命令,也就是获得一个可操作的 Shell。
# 然后,用 <h1>Hello, Docker!</h1> 覆盖了 /usr/share/nginx/html/index.html 的内容。

现在再刷新浏览器的话,会发现内容被改变了。
在这里插入图片描述
因为修改了容器的文件,也就是改动了容器的存储层。可以通过 docker diff 命令看到具体的改动。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值