1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | multi-stage-dockerfile(合集仓库子技能,识别名 multi-stage-dockerfile-github-awesome-copilot) |
— |
| 作者/维护者 | github/awesome-copilot 社区合集;该技能最初以 prompt 形式贡献,2026-02-19 经批量转换成为 skill,此后该子目录无改动 |
GitHub API(按路径过滤的提交记录) |
| 来源链接 | https://github.com/github/awesome-copilot/tree/main/skills/multi-stage-dockerfile | — |
| 许可证 | MIT | GitHub API |
| GitHub Stars / Forks | 39,184 / 4,979(属整个 awesome-copilot 合集仓库,不代表本技能自身热度) | GitHub API |
| 最新版本 | 无独立版本号;子目录最近一次改动为 2026-02-19 | GitHub API |
| 安装方式 | npx skills add https://github.com/github/awesome-copilot --skill multi-stage-dockerfile,或手动复制目录 |
skills.sh 页面 |
2. 功能介绍与亮点
这是一份纯文字的 Dockerfile 多阶段构建指南(单个 SKILL.md,约 2.3KB,无脚本、无外部依赖)。你让 agent 为某个项目写或改 Dockerfile 时,它会按下面五组约定来产出:
- 多阶段结构:builder 阶段负责编译与装依赖,runtime 阶段只带运行所需产物;阶段用
AS命名,顺序为依赖 → 构建 → 测试 → 运行。 - 基础镜像:优先官方精简镜像,固定确切版本标签(如
python:3.11-slim),运行阶段可考虑 distroless 或 Alpine。 - 层优化:变动少的命令放前面以利用缓存,用
.dockerignore,合并相关RUN,COPY --chown一步设权限。 - 安全实践:用
USER避免 root 运行,最终镜像剔除构建工具,扫描镜像漏洞,借多阶段避免构建密钥进入最终层。 - 性能与运行:构建参数按环境配置,设置
NODE_ENV=production之类变量,按应用类型加HEALTHCHECK。
3. 适用场景
固定分类:DevOps 与基础设施
适合要给 Node、Python、Go、Java 等任意语言项目写生产用 Dockerfile 的开发者,或想把现有单阶段、体积臃肿的镜像瘦身的人。受益者是没有专职运维、又要自己打容器镜像的中小团队与个人开发者。产出物是 Dockerfile 及配套 .dockerignore 的建议。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——遵循 Agent Skills 规范(SKILL.md + YAML front matter,仅含 name 与 description),放入
.claude/skills/即可加载。 - Codex CLI:⚠️ 需适配——Codex 不会自动扫描
~/.codex/skills,需在会话中手动引用 SKILL.md 内容。 - OpenClaw:❓ 未验证——未查到其加载第三方 SKILL.md 的官方说明。
- Hermes Agent:✅ 原生支持——按 tap 路径扫描子目录探测 SKILL.md,兼容标准 Agent Skills 规范。
5. 推荐理由
AI 助手写 Dockerfile 时最常见的毛病是单阶段、基础镜像用 latest、以 root 运行、构建工具和密钥留在最终镜像里。这个技能把“多阶段 + 精简镜像 + 缓存友好分层 + 非 root”这套通行做法压缩成一页清单,装上后 agent 产出的 Dockerfile 会默认走这条路。篇幅短、零依赖、不涉及外部权限,对没有容器经验的初中级用户是一道低成本的基线保障。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | skills.sh 累计约 26.0K 次安装(2026-02-25 首次出现);合集仓库 stars 属整个合集,不代表本技能自身热度;未发现具名的第三方使用评价 |
| 可用性 | 7 | 一条 npx 命令即可安装,无外部依赖。扣分:全文是要点清单,没有任何 Dockerfile 示例或分语言模板;子目录自 2026-02-19 起未再修改 |
| 安全性 | 9 | 纯提示词,无脚本、无联网、无凭据、MIT;见下方清单 |
安全检查清单:①不含脚本,无 shell 执行指令 ②运行时无联网外发 ③不需要 API key 或凭据(正文还建议避免让构建密钥进入最终镜像)④通读全文,未见可疑指令、混淆内容或夹带推广;skills.sh 上 Gen Agent Trust Hub、Socket、Snyk 三项自动审计均为 PASS ⑤托管在 GitHub 官方组织的社区合集内,改动经维护者合并 ⑥License 明确(MIT)⑦合集仓库近日仍在提交,本子目录最近改动为 2026-02-19。综合 = 三项均值。
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 与本技能的差异 |
|---|---|---|
| netresearch/docker-development-skill | 覆盖 Dockerfile、compose、docker-bake、.dockerignore、容器安全审计与 CI 容器测试的综合 Docker 技能,含分语言多阶段示例;仓库约 22 stars |
覆盖面更广、带示例,但需要本机装有 docker / docker compose,并授予 Bash、Write 等工具权限,许可证为 MIT 与 CC-BY-SA-4.0 双许可(仓库显示 NOASSERTION);本技能只讲多阶段构建原则,零权限 |
| obeone/claude-skills 中的 dockerfile-best-practices | 面向 BuildKit、缓存挂载、非 root 加固的 Dockerfile / Compose 优化;仓库约 4 stars | 偏进阶(BuildKit 特性);本技能更通用、门槛更低 |
核心差异:本技能只做一件事——让 agent 写出结构正确的多阶段 Dockerfile,不带任何脚本与工具权限,适合作为容器化任务的默认基线;需要 compose 编排、CI 测试或示例模板时再配合更全面的 Docker 技能。
8. 用户评价
该技能目前在第三方平台尚无具名用户使用评价。可核实的公开痕迹:skills.sh 累计约 26.0K 次安装,三项自动化安全审计均通过。以上是安装数据,不是使用者评价。
9. 其他补充
正文为英文,无多语言版本。合集内另有 containerize-aspnetcore、containerize-aspnet-framework(.NET 应用容器化)与 azure-container-registry-cli 等相邻技能可配合使用。
10. 安装使用方式
- 安装:
npx skills add https://github.com/github/awesome-copilot --skill multi-stage-dockerfile,或手动复制skills/multi-stage-dockerfile/到你的 skills 目录。 - 触发:对 agent 说“给这个 Node 项目写一个多阶段 Dockerfile”“帮我把这个单阶段 Dockerfile 改成多阶段并瘦身”等。
- 安装后无需重启。
11. 注意事项
- 技能只提供原则清单,没有示例;产出质量取决于 agent 对项目语言与框架的判断,建议在提示中说明语言、运行时版本与启动命令。
- 未提及 BuildKit 缓存挂载、SBOM、镜像签名等较新做法,追求极致构建速度或供应链合规时需自行补充。
- “扫描镜像漏洞”只是建议,技能不含扫描工具,需自行选用 Trivy 等工具。