docker中镜像的commit怎么用
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章将为大家详细讲解有关docker中镜像的commit怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker commit:表示提交容器副本使之成为
千家信息网最后更新 2025年11月14日docker中镜像的commit怎么用
这篇文章将为大家详细讲解有关docker中镜像的commit怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
docker commit:表示提交容器副本使之成为一个新的镜像。假设我们在docker中运行了一个Tomcat容器,我们在tomcat容器中做了一些我们自定义的修改,然后我们这个修改的tomcat容器进行commit,这样我们就形成了一个新的自定义镜像。
命令格式:docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]
案例演示
1、从hub上下载tomcat镜像到本地并成功运行
说明:-p是指定端口,-P是随机端口
[root@t-docker chenzx]# docker images tomcatREPOSITORY TAG IMAGE ID CREATED SIZEtomcat latest 690cb3b9c7d1 7 days ago 463MB[root@t-docker chenzx]# docker run -it -p 8888:8080 tomcatUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /docker-java-home/jre30-Aug-2018 08:37:01.728 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]30-Aug-2018 08:37:01.736 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]30-Aug-2018 08:37:01.739 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 555 ms[root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5c83a1f3aea4 tomcat "catalina.sh run" 8 minutes ago Up 8 minutes 0.0.0.0:8888->8080/tcp quirky_zhukovsky
[root@t-docker chenzx]# docker run -it -P tomcat[root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES54a817e3ce05 tomcat "catalina.sh run" 21 seconds ago Up 19 seconds 0.0.0.0:32768->8080/tcp confident_leavitt
2、故意删除上一步镜像生成的tomcat容器文档
[root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES54a817e3ce05 tomcat "catalina.sh run" 17 minutes ago Up 17 minutes 0.0.0.0:32768->8080/tcp confident_leavitt[root@t-docker chenzx]# docker exec -it 54a817e3ce05 /bin/bashroot@54a817e3ce05:/usr/local/tomcat# cd webapps/root@54a817e3ce05:/usr/local/tomcat/webapps# ls -ltotal 4drwxr-x--- 3 root root 306 Aug 23 00:47 ROOTdrwxr-x--- 14 root root 4096 Aug 23 00:47 docsdrwxr-x--- 6 root root 83 Aug 23 00:47 examplesdrwxr-x--- 5 root root 87 Aug 23 00:47 host-managerdrwxr-x--- 5 root root 103 Aug 23 00:47 managerroot@54a817e3ce05:/usr/local/tomcat/webapps# rm -rf docs/root@54a817e3ce05:/usr/local/tomcat/webapps# ls -ltotal 0drwxr-x--- 3 root root 306 Aug 23 00:47 ROOTdrwxr-x--- 6 root root 83 Aug 23 00:47 examplesdrwxr-x--- 5 root root 87 Aug 23 00:47 host-managerdrwxr-x--- 5 root root 103 Aug 23 00:47 manager
3、通过上一步,当前的Tomcat运行实例是一个没有文档内容doc目录的容器,以它为模板commit一个没有doc的tomcat新镜像chenzx/tomcat02,chenzx就是自己取的命名空间
[root@t-docker chenzx]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES54a817e3ce05 tomcat "catalina.sh run" 26 minutes ago Up 26 minutes 0.0.0.0:32768->8080/tcp confident_leavitt[root@t-docker chenzx]# docker commit -a='xiaoxin' -m='del tomcat docs' 54a817e3ce05 chenzx/tomcat02:1.2sha256:24c3d89d4d043e4fb97f0cf4f3b94bcf96b5600a062fc8de4e39a7763d20badf[root@t-docker chenzx]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEchenzx/tomcat02 1.2 24c3d89d4d04 7 seconds ago 463MBtomcat latest 690cb3b9c7d1 7 days ago 463MB
4、把正在运行的容器全部删除
[root@t-docker chenzx]# docker rm -f $(docker ps -q)54a817e3ce05[root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5、以我们自定义的镜像生成一个新的容器
[root@t-docker chenzx]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEchenzx/tomcat02 1.2 24c3d89d4d04 6 minutes ago 463MBtomcat latest 690cb3b9c7d1 7 days ago 463MBcentos latest 5182e96772bf 3 weeks ago 200MB[root@t-docker chenzx]# [root@t-docker chenzx]# docker run -it -P chenzx/tomcat02:1.2 [root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESc6c68b224e84 chenzx/tomcat02:1.2 "catalina.sh run" 24 seconds ago Up 24 seconds 0.0.0.0:32770->8080/tcp awesome_sammet
可以看到,我们用自定义的jtomcat1.2镜像,生成的容器里面没有doc目录
6、启动我们的新镜像并和原来的镜像对比
启动chenzx/tomcat1.2,它没有docs目录
启动原来tomcat。它有docs目录
7、以守护式方式启动tomcat容器(-d参数)
[root@t-docker chenzx]# docker run -d -p 6666:8080 tomcat23b4ec6f24b854f682631c5a9b6bcfc0c685dbec46d1867faea4b534f5791452[root@t-docker chenzx]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES23b4ec6f24b8 tomcat "catalina.sh run" 5 seconds ago Up 4 seconds 0.0.0.0:6666->8080/tcp flamboyant_almeida
关于"docker中镜像的commit怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
镜像
容器
目录
运行
篇文章
生成
内容
文档
更多
端口
上一
不错
实用
成功
上下
作者
信息
副本
参数
命令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发 招标 项目公示期
数据库中图形是怎样分析的
悬挂式车路协同服务器收费
服务器主板 家用
计算机应用的主流网络技术
服务器分布式策略
网络安全的生肖
数据库无法录入数据库
查看服务器时间同步
办公管理软件开发
没备案能不能解析国内服务器
职称软件开发
调用sql数据库
slice数据库
服务器万兆网口不通
在手机上怎样做软件开发学
怎么打开dns服务器
丽水品牌网络技术怎么样
中国服务器厂商概论
网络安全 领导讲话
软件开发v模型有什么优缺点
绘制ROC曲线的数据库
网络安全的生肖
天津隆云网络技术有限公司
小学四年级网络安全作文
数据库系统考研科目
word 中筛选重复数据库
数据库安全报告心得体会
构网络安全之
红河学院网络安全中心