用途:指导编写 Dockerfile 多阶段构建,把编译、测试、依赖安装与最终运行环境分离,减小镜像体积并降低生产环境携带构建工具的安全风险。
主要能力:讲解多阶段概念(单个 Dockerfile 中多个 FROM,每个 FROM 开启一个阶段,仅最终阶段或 --target 指定阶段产出镜像);区分 builder、test、dependencies、production、debug 等阶段类型;给出各语言单阶段与多阶段镜像体积对比;提供最终阶段基础镜像选择建议(scratch、alpine、distroless、*-slim);覆盖核心语法 FROM ... AS、COPY --from、--target;并给出基础构建、构建+测试+生产流水线、共享依赖、并行构建、调试阶段、跨平台构建等模式。
使用方式:Dockerfile 首行写 # syntax=docker/dockerfile:1 以启用 BuildKit;用 AS 命名阶段,避免用数字索引引用;仅复制所需产物,如 COPY --from=build /app/server /usr/local/bin/server;按需构建指定阶段,如 docker build --target test -t myapp:test .;跨平台构建使用 docker buildx build --platform linux/amd64,linux/arm64 -t myapp:latest .。
适用场景:需要编译代码、打包前端资源、运行测试门禁、生成最小生产镜像或需要独立调试镜像时。
限制:资料未提供该技能的安装方式、收费、价格与平台支持信息;文中镜像体积数值为资料给出的示例参考,实际结果取决于项目与基础镜像版本。