• 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 工资「喂饱肚子」,副业「养活灵魂」!

Docker – 解决容器commit之后镜像变得非常大的问题

Linux运维 发布于2024-01-09 阅读 1,630次 0次评论 0次点赞 本文共792个字,阅读需要2分钟。

1 docker打包容器,commit之后变得非常大的问题

最近基于Ubuntu的镜像构建了一个容器用于在其中编译自己的一些C++项目,由于安装了很多的编译依赖,比如gcc、g++、cmake、ffmpeg、opencv等,在编译项目完成之后准备commit一个镜像发现居然有几十G。

后面才知道,docker的运行方式是以层的概念实现的,如果不是以Dockerfile的方式制作镜像,而是直接在容器里面进行命令操作,比如说apt-get install等操作,在容器中所作的所有操作都会在构建镜像的时候运行一遍,每一个操作所涉及控件都会称为镜像的一部分,这就会导致镜像变得非常大。

2 docker镜像瘦身的方法

解决上述问题最简单的方法就是只将容器内根目录下的文件打包,复制到宿主机,然后再import成镜像。

首先进入到容器中,执行以下命令对容器根目录下的文件打包

tar -cvf my_docker.tar --exclude=/proc --exclude=/sys --exclude=my_docker.tar /

然后将打包的压缩包拷贝到宿主机中

docker cp 容器ID:/my_docker.tar /docker_package/my_docker.tar

然后进入到宿主机的目录,执行以下命令生成镜像

cd /docker_package
cat my_docker.tar | sudo docker import - my_docker

执行完成之后,使用docker images命令查看,看是否新增了一个名为my_docker的镜像,并且体积相比之前有了大幅度减少。

参考

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:Docker – 解决容器commit之后镜像变得非常大的问题

原文链接:https://www.stubbornhuang.com/2946/

发布于:2024年01月09日 10:05:25

修改于:2024年01月09日 10:05:25

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
C++ - 使用Crypto++对字符串进行md5加密和md5校验
C++
下一篇
Ubuntu - 编译安装libhv
Linux运维
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号