docker学习-如何Commit一个镜像

Commit一个镜像

命令:

docker commit 	#提交容器,成为一个新的副本

在这里插入图片描述

具体指令:

docker commit –m=”提交的描述信息” –a=”作者” 容器id 目标镜像名:[TAG]# 其中TAG即为目标镜像的版本信息,如MySQL9.2中的9.2即为TAG

下面做一个实验
-it方式运行tomcat镜像,创建一个默认的tomcat容器:
在这里插入图片描述

ctrl+p+q方式退出容器,并使用docker ps指令查看tomcat容器运行情况
在这里插入图片描述

通过docker exec指令进入tomcat容器,这时的tomcat容器中的webapps目录下为空,因为这里官方tomcat默认镜像webapps下面是没有文件的
在这里插入图片描述

将webapps.dist下的文件拷贝入webapps目录(在原来默认的tomcat镜像上面做了操作,相当于在原来默认的tomcat镜像层上面加了一个容器层)
在这里插入图片描述

通过浏览器中输入ip+8080端口,访问docker中部署的tomcat容器,发现访问成功(这里的ip地址变了一下,是因为我换了个网络环境,没什么影响)
在这里插入图片描述

如果想要把现在已经配置好的tomcat容器作为一个现成的镜像,以备以后使用(相当于把刚才的基本的默认的tomcat镜像层+容器层一起打包成一个新的层级),那么就用到了commit指令。
输入指令:

docker commit -a="jack" -m="cp webapps.dist to webapps" 6d4ffd036a11 tomcat_jack:1.0

在这里插入图片描述

这个命令的意思为:把现在正在运行的tomcat容器,commit为一个新的镜像,镜像作者为jack,这个镜像生成的相关信息为“cp webapps.dist to webapps”,这个新的镜像的名字被我命名为tomcat_jack,版本为1.0。

通过docker images查看,发现已经生成我们刚才commit的新的镜像(可以观察到新镜像的SIZE比之前的精简版要大一些)
在这里插入图片描述

以后可以直接使用我们新生成的镜像tomcat_jack

更加直观的理解:
相当于用积木搭房子,我们从官网pull的默认镜像(默认镜像层)一般都是精简版,相当于我们房子的地基;我们通过run指令通过这个默认镜像运行某个容器,也就是在这个默认镜像层上面加了容器层,相当于我们在房子的地基上又加了几层;最终,我们通过commit指令生成一个新的镜像,相当于我们用胶水把现在积木的“地基”和“地基上的那几层”粘合了起来,形成了一个新的“地基”。这是我对分层思想的直观理解。
也可以和虚拟机VM中“快照”的概念相类比进行理解记忆。

到此为止,我们docker算是入门了,之后将会学到更加高级的东西:
容器的数据卷、DockerFile、Docker的网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值