怎么调整Docker里面的Image大小-创新互联

这篇文章主要介绍了怎么调整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大小”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联-成都网站建设公司行业资讯频道,更多相关知识等着你来学习!

网页名称:怎么调整Docker里面的Image大小-创新互联
当前链接:https://www.cdcxhl.com/article18/cegddp.html

成都网站建设公司_创新互联,为您提供品牌网站设计网站排名手机网站建设用户体验静态网站网页设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站