云计算-5-docker commit定制镜像
发布于 2024-07-19
889
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
springboot葵花宝典
扫码关注公众号
扫码阅读
手机扫码阅读
云计算-5-docker commit定制镜像摘要
镜像的重要性与定制需求
镜像是容器的基础,每次运行容器都需要指定一个镜像。通常镜像来源于公共仓库或私有仓库,但有时可能无法满足特定需求。这时需要通过定制镜像来满足特定工作场景的要求。
镜像构建示例:修改nginx默认页面
以部署nginx容器为例,通过以下命令启动容器并映射8080端口:
docker run --name mynginx -p 8080:80 -d nginx
启动后,通过浏览器访问容器的nginx服务器,可以修改默认页面内容。进入容器后,使用以下命令修改页面:
#进入容器
docker exec -it mynginx bash
#修改页面内容
echo 'welcome My Docker!' > /usr/share/nginx/html/index.html
#退出容器
exit
刷新浏览器后,可以看到修改后的页面内容。
查看修改后的差异
修改容器内容后,可以使用命令 docker diff mynginx 查看容器存储层的具体变化。
docker diff mynginx
#输出内容展示了哪些文件或目录发生了修改、添加或创建。
保存修改为定制镜像
使用 docker commit 命令可将修改后的容器内容保存为新的镜像。示例如下:
docker commit \
--author "Springboot葵花宝典" \
--message "修改nginx默认网页" \
mynginx \
mynginx:v2
生成新的镜像后,可以通过 docker image ls mynginx 查看镜像列表,并使用 docker history mynginx:v2 查看镜像的修改记录。运行新镜像的命令如下:
docker run --name mynginx2 -d -p 8081:80 mynginx:v2
docker commit的注意事项
尽管 docker commit 可直观地保存容器修改,但在实际环境中建议使用 Dockerfile 代替,原因包括:
- 复杂修改可能导致镜像臃肿,增加存储成本。
- docker commit 为黑箱操作,生成的镜像难以维护,且操作过程不透明。
本文分享了镜像定制的基本流程及注意事项,希望对您的工作有所帮助。如觉得内容有价值,欢迎点赞、收藏及转发支持。
springboot葵花宝典
springboot葵花宝典
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
springboot葵花宝典的其他文章
SpringBoot-5-MyBatis最佳实践分享
MyBatis是一个流行的Java持久化框架,它提供了一种简单且灵活的方式来执行CURD操作。MyBatis使用XML或注解配置来映射数据库操作和SQL语句。今天介绍MyBatis CURD操作和一些常用标签
用了这个 Java 小工具,我废了
在开发过程中,我们经常需要编写很多与业务无关的
SpringSecurity-7-自定义AuthenticationProvider实现图形验证码
SpringSecurity-7-自定义AuthenticationProvider实现图形验证码
SpringSecurity认证原理分析
SpringSecurity认证原理分析
MQTT 与 EMQ快速入门
MQTT 与 EMQ
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线