标准答案

  1. 基础镜像 tag 可能移动,生产构建只记录 tag 难以证明实际内容和复现结果。
  2. 锁定 digest 后,更新应通过显式变更、测试、扫描和灰度完成,而不是让构建环境悄悄变化。
  3. 可复现不代表永不更新,团队要有补丁、漏洞、证书和运行时版本的更新窗口。
  4. 构建制品应记录源码、依赖锁文件、基础镜像 digest、平台和构建工具版本。

题目解析

固定 tag 或 digest 解决的是构建输入可追溯,自动化更新解决的是长期补丁和漏洞暴露;两者并不矛盾。生产制品应记录源码、lockfile、基础镜像 digest、平台和构建器,更新通过显式变更、扫描、测试和灰度进入,而不是在某次构建中悄悄变化。

扫描范围要覆盖基础镜像、系统包、应用间接依赖和最终运行层。digest 固定后仍要定期重建,判断新版本的漏洞可达性、兼容性、证书和回滚成本,并保留上一版可运行制品。

常见误区

  • 误区:一直使用 latest。改正:发布时记录并固定 digest,按平台和环境追踪实际内容。
  • 误区:固定 digest 后永不更新。改正:建立补丁和漏洞更新窗口,测试后生成新的固定制品。
  • 误区:只扫描应用依赖。改正:同时扫描基础镜像、系统包、间接依赖和构建来源。

作者信息