docker build 通过Dockerfile 制作镜像会根据命令形成一层层layer,这样造成文件重复,镜像体积比较大;为了缩小层的数量及其大小,能够像压缩git commit一样压缩layer层,docker-squash能够执行此操作。Docker squash将压缩多个镜像layer层,以便删除存储在两头步骤中的所有数据,即删除掉重复数据。本文就docker-squash 使用效果展开讨论。
一、docker-squash 安装
二、使用介绍
2.1、部分压缩指定层数
首先docker history查看镜像层数
使用dive 工具查看镜像效率参数
命令格式
如下:
压缩后体积如下:
再次查看history
再次dive 分析,镜像效率参数有些许改观
2.2、完全压缩
即压缩成一层
docker history 查看
docker images 比较一下大小
dive 分析
三、总结
1、docker-squash 根据docker history 层数对镜像进行压缩2、-f 指定的层数越大,压缩效率越好3、结合dive 工具,更直观展示压缩效率4、压缩后的图像可以加载回Docker守护进程,即可以通过docker images 查看5、使用docker-squash 也存在缺点,压缩为一层时无法根据docker history查看镜像构建历史。
参考文档
1、https://lequ7.com/guan-yu-docker-chuang-jian-zui-xiao-hua-de-rong-qi-jing-xiang-er.html2、https://mp.weixin.qq.com/s/S1Ib08SpQbf1SCbCutUoqQ3、https://blog.csdn.net/j_starry/article/details/1251855064、https://github.com/jwilder/docker-squash5、https://bbs.huaweicloud.com/blogs/3366846、https://github.com/dive/7、https://www.cnpython.com/pypi/docker-squash8、https://cloud.tencent.com/developer/article/1444954
到此这篇关于docker镜像压缩squash的实现的文章就介绍到这了,更多相关docker squash内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!