linux怎么查看本机内存大小
265
2022-10-22
Docker教程小白实操入门(7)--基于Commit定制镜像
一、需求
当某个镜像无法直接满足需求时,就可以在这些镜像的基础上修改,然后保存为新的镜像。
实例:在镜像busybox:latest的基础上,新增了一个hello.txt文件,形成一个镜像busybox:v1。
二、拉取最新镜像,创建容器,对容器进行修改
# 拉取busybox:latest镜像,并新建容器container1,最后在容器里新建了一个文件hello.txtdocker run --name container1 busybox touch hello.txt
三、将“对容器的修改”保存为镜像
docker commit [OPTIONS] CONTAINER [镜像名]
[OPTIONS]:命令选项,其中--author指定作者,--message制定commit的信息;CONTAINER:需要commit的容器;镜像名:新镜像的名字,以<仓库名>:<标签>的方式来指定。如果不显示设置,将默认为None:None。(这个代表没有指定镜像名)
本例为:
# 将container1容器保存为busybox:v1镜像docker commit container1 busybox:v1
查看效果
# docker exec进入了该容器内部,实际上就是进入容器另开一个终端。# 若报错,可将/bin/bash修改为/bin/shdocker run -it --name container5 busybox:v1 /bin/bash# 查看所有文件ls
四、使用commit定制镜像的缺陷
在实际的环境中,一般不会使用Commit去构建一个镜像:
1. 由于commit会将对容器做出所有的修改都保存为镜像,换句话说,就是在原有镜像的基础上,再叠加上容器的存储层(该存储层仅仅保存了容器所做的修改),将这些内容构成一个新的镜像。
2. docker commit意味着所有对镜像的操作都是黑箱操作,生成的镜像也被称为黑箱镜像,换句话说,就是除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知。
更好的定制镜像的方法:Dockerfile!!
参考:https://educoder.net/shixuns/4uyn5ebp/challenges
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~