Fitten Code 可自动生成多阶段 Dockerfile,需启用“Docker: Enable Multi-stage Template”设置并重启 VS Code;输入 dockerfile:go 或 dockerfile:py 触发补全,自动构建 builder/runtime 阶段,预置 CGO_ENABLED=0、COPY --from=builder 等关键指令,确保镜像精简安全。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想用 Fitten Code 自动生成 Dockerfile 并直接支持多阶段构建,避免手动写错 FROM 顺序、漏掉 --from 参数或误把构建工具塞进生产镜像——这会导致最终镜像体积暴涨、安全风险升高、部署变慢。
确认 Fitten Code 插件已启用多阶段模板
打开 VS Code → 点击左侧活动栏「扩展」→ 搜索「Fitten Code」→ 确保状态为「已启用」→ 点击齿轮图标 →「扩展设置」→ 找到「Docker: Enable Multi-stage Template」并勾选。未开启时它默认只生成单阶段 Dockerfile,【不勾选就无法触发多阶段代码补全】。
重启 VS Code 窗口(Cmd+Shift+P → 「Developer: Reload Window」),否则新设置不生效。
用 Fitten Code 快速生成 Go 多阶段 Dockerfile
在项目根目录新建文件 dockerfile → 输入「dockerfile:go」→ 按 Tab 键触发 Fitten Code 智能补全 → 自动插入完整多阶段结构。
生成内容包含两个明确命名的阶段:builder(基于 golang:1.21-alpine)和 runtime(基于 alpine:3.20)。它自动在 builder 阶段设置 CGO_ENABLED=0 和 GOOS=linux,防止动态链接库混入最终镜像。
COPY --from=builder 指令已预置,目标路径为 /app/server,且 CMD 已设为 ["/app/server"] —— 这一步不能改路径,否则运行时会报 “no such file or directory”。
定制 Python 项目的多阶段构建流程
方法一:使用内置 Python 模板
新建 dockerfile → 输入「dockerfile:py」→ Tab 补全 → 选择「multi-stage with poetry」模板。它会生成 build 阶段安装 Poetry + 依赖,runtime 阶段基于 python:3.11-slim 并清除所有代理环境变量。
方法二:手动注入阶段指令(适合已有复杂依赖)
在已有单阶段 Dockerfile 中光标定位到最后一行 CMD 上方 → 输入「multi:stage」→ Tab → Fitten Code 插入三段式结构:build → deps → runtime。deps 阶段专用于 pip install 或 poetry install,与 build 阶段解耦,利于缓存复用。
【注意:runtime 阶段开头必须加 ENV http_proxy= HTTPS_PROXY=,否则代理变量会从 build 阶段继承】
一键验证镜像体积缩减效果
保存 dockerfile 后,右键文件 →「Fitten Code: Build & Analyze Image」→ 它将自动执行 docker build -t test-img . 并调用 dive test-img 分析层结构。
终端输出中重点关注「Total Image Size」和「Smallest Layer」两行数字:若 Total 小于 25MB(Go)、小于 85MB(Python),说明多阶段生效;若某一层大于 40MB 且含 /usr/local/go/bin/go 或 /root/.poetry,则说明构建工具未被剥离。
此时不用重写 Dockerfile,直接点击终端里「Fix layer bloat」链接,Fitten Code 会高亮问题指令并给出修正建议。


















