多阶段构建减小镜像体积
-
多阶段构建为何能大幅缩减镜像体积,容器镜像体积太大怎么办
多阶段构建能显著减小容器镜像体积,核心答案在于它允许你在最终镜像中只保留运行时所需的产物,而彻底丢弃构建过程中产生的一切中间文件和工具链,以往构建镜像,我们习惯用一个大而全的基础镜像,装编译器、拉源码、编依赖,最后把这些「作案工具」连同产物一起打包进镜像,这就像做完饭不刷锅,把菜板、菜刀、甚至垃圾桶一起端上桌……
-
为什么镜像中构建环境和运行环境要分开,怎么优化?
把构建环境和运行环境在镜像里分开,本质就是利用多阶段构建把编译器、依赖缓存这些“施工队”留在中间层,最终镜像只装运行时必需品,体积更小、攻击面更少、拉取部署更快,构建环境和运行环境的区别是什么?不拆分的镜像有多“虚胖”构建环境和运行环境,很多人容易混为一谈,构建环境是代码变成可执行文件的地方,里面堆满了编译工具……