Docker 镜像瘦身与构建加速实战:多阶段构建、BuildKit 缓存与 CI 复用
很多项目的 Dockerfile 一开始只有几行:复制代码、安装依赖、执行构建。它确实能运行,但随着项目增长,通常会出现以下问题: * 一个普通 Node.js 服务镜像动辄数百 MB,甚至超过 1 GB; * 修改一行源代码,却重新下载全部依赖; * 本地二次构建很快,到了 CI 环境又从零开始; * 为了编译原生依赖安装了 gcc、make,最终运行镜像也携带了这些工具; * .env、.git、测试报告甚至本地 node_modules 被发送进构建上下文; * 为了访问私有依赖,把 Token 写进 ARG 或 Dockerfile,
24 min read