1.为什么要对镜像进行优化
随着我们对docker镜像的持续使用,在此过程中如果不加以注意并且优化,镜像的体积会越来越大
很多时候我们在使用docker部署应用时,会发现镜像的体积至少有1G以上,镜像体积的增大,不单单会增加磁盘资源与网络资源的开销,也会影响应用的部署效率,使得应用的部署时间会越来越长
因此我们需要减少部署镜像的体积以加快部署效率,降低资源的开销,而对于镜像的优化,可以通过对dockerfile的优化来实现
2. 镜像优化的原则
(1)选择最精简的基础镜像
(2)减少镜像的层数
(3)清理镜像构建的中间产物
(4)注意优化网络请求
(5)尽量去用构建缓存
(6)使用多阶段构建镜像
1.镜像最小化原则
(1)选择最精简的基础镜像
选择体积最小的基础镜像可有效降低镜像体积。如:alpine、busybox等
(2)清理镜像构建的中间产物
构建镜像的过程中,当dockerfile的指令执行完成后,删除镜像不需要用的的文件。
如使用yum安装组件,最后可使用yum clean all镜像清理不需要的文件或者使用系统rm命令删除不需要的源文件等。
(3)减少镜像的层数
镜像是一个分层存储的文件,并且镜像对层数也是有一定数量的限制,当前镜像的层数最高是127层,如果不多加注意,将会导致镜像越