# 镜像构建打包Skill

> 容器镜像的构建规范(多阶段构建、分层优化、安全基线)。当需要编写 Dockerfile、构建并推送容器镜像时使用。

- Skill: `sky-cube/skill` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sky-cube/skill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sky-cube/skill/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Sky-Cube (https://skillmd.com/u/sky-cube)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sky-cube/skill

---

# 镜像构建打包Skill

## 适用场景
为应用构建容器镜像,保证镜像体积合理、构建可复现、安全基线达标。

## 执行步骤
1. 确定基础镜像:选官方/受信镜像,锁精确 tag(禁止 latest),优先精简发行版(alpine/slim)。
2. 多阶段构建:编译阶段(带工具链)与运行阶段(最小依赖)分离。
3. 分层优化:依赖层(变动少)在前,代码层在后,利用构建缓存。
4. 安全加固:非 root 用户运行、最小端口暴露、镜像签名。
5. 构建并验证:本地起容器冒烟,再推送仓库(带版本 tag)。

## 规范要点
- 基础镜像锁精确 tag,并注明版本选择理由;能不用 latest 就不用。
- 构建上下文最小化(.dockerignore),禁止把密钥/源码缓存/环境文件打进镜像。
- 运行用户非 root;不必要的能力(capabilities)不放权。
- 镜像 tag 规范:语义化版本 + 构建号,与环境对应关系可追溯。
- 多阶段构建后最终镜像只含运行时依赖,体积异常大要说明原因。

## 输出模板
```
[Dockerfile]
## 构建命令
## 镜像说明(基础镜像/端口/用户/volume)
```

## 自检清单
- [ ] 基础镜像精确 tag 且受信
- [ ] 多阶段构建
- [ ] 非 root 运行
- [ ] 无密钥进镜像
- [ ] 冒烟验证通过

