如何缩小镜像的体积大小?
1)尽可能的使用小体积的基础镜像
2)尽可能减少Dockerfile文件中的指令数量
3)构建镜像步骤最后添加清空系统和应用程序的缓存的命令
4)使用多级(多阶段)构建 FROM AS 别名
COPY --from 别名

多阶段构建
我们在构建 docker 镜像时,希望最后得到的镜像越小越好。Dockerfile创建镜像的原理是逐行指令添加一层镜像,所以要尽可能减少Dockerfile文件中的指令数量。之前文章提到过的“&&”和“;” ,两个都表示连接,但是“&&”表示前面指令执行成功之后再执行后面的指令,“;”表示无论前面的指令是否成功都继续执行;后面的指令。
在多阶段构建中,可以通过 FROM 指令在Dockerfile中生成多个阶段,每个阶段都是新的阶段,但是可以COPY上一个阶段的结果/值使用,直到到最后阶段显示/留下所有内容:
先 docker pull openjdk:8-jdk-alpine 下载一个微型jdk镜像
然后在tomcat 的 Dockerfile中直接FROM指定已经下载好的jdk镜像创建test1镜像
1 #FROM centos:7 2 #MAINTAINER this

文章介绍了几种减小Docker镜像体积的方法,包括选择小型基础镜像,减少Dockerfile指令,使用多阶段构建来分离构建过程和最终镜像,以及清理系统和应用缓存。通过示例展示了多阶段构建的使用,以及如何通过COPY--from指令从其他镜像中复制所需文件,从而创建更小的镜像。


被折叠的 条评论
为什么被折叠?



