DevOps
打造可上线的容器镜像
小型、可复现、非 root 的容器镜像,能正确启动并通过漏洞与运行期检查。
流程
按这个顺序做。
- 识别应用构建、运行时文件、端口、健康行为、配置边界和支持的目标架构。
- 编写多阶段 Dockerfile,使用可信且版本固定的基础镜像,并用 .dockerignore 排除源码噪音、凭证和本地产物。
- 可复现地安装依赖,按缓存效率排列层,并只把必要运行时产物复制到最终阶段。
- 创建并切换到非特权用户,设置明确入口点,配置和密钥放在镜像外。
- 启用 Docker 检查构建,检查镜像历史与体积,扫描漏洞,并核验预期元数据和架构。
- 用接近生产的只读或受限设置运行镜像,测试启动、健康、关闭、网络行为和代表性请求。
先准备
猫会向你要的输入。
- 应用源码与构建命令
- 运行时与架构目标
- 端口、健康与配置约定
- 批准的基础镜像策略
路由器 + 一份 playbook
先路由。只选一份。
Cat Paw 每次任务只加载一份 playbook,不合并多份。先走这个路由器;其余路径是此 workflow 可检查的候选。
- 路由器:
engineering-pack skills/engineering/addyosmani/security-and-hardening/SKILL.mdskills/engineering/addyosmani/ci-cd-and-automation/SKILL.mdskills/engineering/addyosmani/shipping-and-launch/SKILL.md
界限
界限跟着提示一起走。
- 绝不把凭证、私钥或环境特定密钥烘焙进镜像层。
- 除非有书面要求和补偿控制,否则不要以根用户运行。
- 未经扫描且未从干净构建演练的镜像不要发布。
完成代表
一个可核对的终点。
干净构建产出预期镜像,无密钥,进程以预定非根用户运行,健康与关闭检查通过,扫描发现符合既定策略。
来源
这个流程从哪来。
来源确立 workflow 的模式。如有 Reddit 或社区帖子,视为实务轶事,不是普遍事实。