docker中镜像的commit怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关docker中镜像的commit怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker commit:表示提交容器副本使之成为
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网高科技
山东特亿宝互联网科技有限公司
互联网科技工作委员会主任
互联网科技金融
互联网 科技创业
北京互联网络科技有限公司
中正互联网科技招聘
和信科技工业互联网
如何创新互联网科技
广州新华互联网科技学校电竞方面
互联网科技和法律行业
云南省自由互联网科技有限公司
杭州披云加互联网科技有限公司
互联网高科技行业有哪些企业
广西科技产业互联网是什么
上海万顺科技互联网有限公司招聘
科技信息时代互联网发展
科技和互联网行业的特点
唐山双旺合互联网科技产业园
杭州融税互联网科技有限公司
江苏根荣互联网科技
金融科技还是互联网
互联网巨头反垄断金融科技
互联网 科技公司
互联网科技美容
卓越科技互联网 招聘
丰台科技园 互联网公司
互联网金融中的现代科技
城市宝互联网科技有限公司
广州梦谷互联网科技有限公司领导