镜像构建打包Skill
适用场景
为应用构建容器镜像,保证镜像体积合理、构建可复现、安全基线达标。
执行步骤
- 确定基础镜像:选官方/受信镜像,锁精确 tag(禁止 latest),优先精简发行版(alpine/slim)。
- 多阶段构建:编译阶段(带工具链)与运行阶段(最小依赖)分离。
- 分层优化:依赖层(变动少)在前,代码层在后,利用构建缓存。
- 安全加固:非 root 用户运行、最小端口暴露、镜像签名。
- 构建并验证:本地起容器冒烟,再推送仓库(带版本 tag)。
规范要点
- 基础镜像锁精确 tag,并注明版本选择理由;能不用 latest 就不用。
- 构建上下文最小化(.dockerignore),禁止把密钥/源码缓存/环境文件打进镜像。
- 运行用户非 root;不必要的能力(capabilities)不放权。
- 镜像 tag 规范:语义化版本 + 构建号,与环境对应关系可追溯。
- 多阶段构建后最终镜像只含运行时依赖,体积异常大要说明原因。
输出模板
[Dockerfile]
## 构建命令
## 镜像说明(基础镜像/端口/用户/volume)
自检清单
- 基础镜像精确 tag 且受信
- 多阶段构建
- 非 root 运行
- 无密钥进镜像
- 冒烟验证通过