由于最近在发布的时候发现docker镜像体积变得越来越大,导致整个打包发布流程变得非常耗时了。所以又接到一个差事,优化最终镜像体积。顺便也记录一下docker镜像体积优化的一些步骤。
大概步骤可以分为以下几个步骤:
- 重做基础镜像,因为原基础镜像提交就已经占用了500M,所以计划使用alpine重新制作。
- 优化Dockerfile文件,合并一些指令来减小镜像层数,删除一些临时文件等。
- 最后是对基于重制的基础镜像打包发布镜像后进行镜像层数压缩(docker-squash)。
一、重做基础镜像
文件目录如下:
我这基础镜像需要安装 jdk8、 python2、系统级cron组件(supercronic)
使用docker build 命令镜像制作
效果还不错只有200M 比之前的小了快300M
二、Dockerfile优化
我们自己的不方便展示主要就是
- 使用上边新的基础镜像。
- 优化指令减少层数。
- 删除临时文件。
三、压缩镜像
1、docker-squash是什么?
- 定义
- 是一个用于压缩 Docker 镜像的工具。Docker 镜像是由一系列的层(layers)组成的,在构建和使用过程中,这些层会逐渐累积。可以将这些多层的 Docker 镜像压缩成一个单一层的镜像,从而减小镜像的大小。
- 工作原理
- 当构建 Docker 镜像时,每一个指令(如、等)都会在基础镜像之上创建一个新的层。随着时间的推移和构建步骤的增加,镜像会包含许多层。通过将这些层合并,消除了层与层之间的冗余部分。例如,如果一个镜像有多个层,其中有些层可能包含相同的文件或者依赖,会把这些重复的部分整合,生成一个更紧凑的镜像。
2、安装使用
然后直接使用,其他参数可以查阅一下文档。
docker-squash -t 新镜像名称 原镜像名称
以下是压缩结果 压缩了36.9% 一下减少600M 效果还是非常不错的。
效果不错这下又可以交差,又能开开心心划水。
到此这篇oracle doc(oracle docker 镜像)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/42250.html