docker中镜像的commit怎么用
发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,这篇文章将为大家详细讲解有关docker中镜像的commit怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。docker commit:表示提交容器副本使之成为
千家信息网最后更新 2024年10月18日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数据库导入rar文件
抢号软件开发流程
儋州手机软件开发
恢复数据软件开发
网易注册邮箱提示网络安全
篮球足球数据库
畅捷通数据库安装不成功
中安食品安全培训服务器无响应
四川计算机应用软件开发机构
计算机网络技术第二版ppt
后裔服务器
大兴区进口软件开发经历
我的世界进服务器需要下东西吗
数据库2003怎么安装
企业邮件服务器软件
有关安全数据库系统的论文
代表数据库的词
unix数据库启动
请简述网络安全管理的总原则
录像机和服务器区别
大中型企业服务器
电子化采购软件开发商
网络安全日 凤凰
苹果在俄罗斯的服务器放在哪
高考素材网络安全
数据库图片缩放
佳木斯直销后台软件开发