文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么调整Docker里面的Image大小

2023-06-04 17:01

关注

这篇文章主要介绍了怎么调整Docker里面的Image大小,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Docker给开发者带来的最直接好处是,可以打包他们的应用,将所有应用都捆绑在一个封套中,然后发布到任何流行的Linux机器上。并且,Docker能实现虚拟化,各种应用之间不需要任何接口。也就是,我们常说的“开箱即用”,无需大量安装或者配置相关的软件、硬件等。

而Docker Image就是Docker 镜像。Docker镜像是一个只读的模板。比如一个镜像可以包含Ubuntu系统以及安装在Ubuntu上的Apache Web服务器和你自己的应用。镜像是用来创建容器的。Docker提供了一个简单的方式用以创建新的镜像或者更新现存的镜像,甚至你可以下载其他地方提供的镜像。
由于Docker使用一个统一文件系统,Docker镜像其实就是一堆文件的集合,并不是像VM那样的是一个操作系统。镜像可以简单到只有一个程序文件,比如如果你写了一个简单的hello world程序放到一个空的镜像中,那么整个镜像的大小,就是你编译后的二进制文件的大小。

Docker Image 小是很有好处的,可以不用不浪费自己的SSD空间,来处理数十亿字节的Docker数据。

有时候,因企业业务规模化发展,Docker Image 变得非常大。技术开发人员不得不想办法,调整Image 大小。如何不断优化应用,最终让Image 大小减少到原来的一半?
第一步,Image 分层。使用Ubuntu作为基础镜像,搭建一个 Java运行环境。如果你有相关应用,还要整合第三方的结果检查工具。比如:安装Mono,通过NPM安装 TSLint和 ESLint,以便于我们获得更大的镜像处理能力。

第二步,核查BUG。之前,Image 的大小为1GB大。然而,在一次常规的拉取中,技术人员希望下载的数据量与源数据大小大相同,因为基本Image (Ubuntu、Java、…)还要保持稳定。但我的控制台显示,出现了异样:

怎么调整Docker里面的Image大小

貌似有数据被多次下载。因为这是最后一层,所以这些都是真正的分发文件。检查Dockerfile后发现,所有目录都是经过编辑的。在传统的部署设置中,安全的操作方式是,Docker必须添加一个新的映镜像层,并且包含所有分发文件以及所有权信息。
在实际的Docker构建之前,通过调整所有权信息,很容易摆脱chown调用,从而让最终的Image 节省了300MB。

第三步,继续删减字节。文件产生的大小是670 MB,这只是开始,还有一定的删减空间。当OpenJDK被用于Java运行时,它附带了一些开发和GUI工具。把没有用的OpenJRE替换掉,可以立即节省将近100 MB的内存。然后运行StyleCop,并从Mono中的 .NET PDB 文件中阅读信息。Mono已经被安装在mono-complete 包中,通过强依赖关系,例如通过一个完整的MonoDevelop,来实现更多兆字节的删减。不管是ESLint,还是TSLint,都只是在NodeJS运行时才能启动。

最终,我们把所有应用分别添加到Docker Image中,图像大小由1GB减少到480MB。

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么调整Docker里面的Image大小”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯