首页/开发/CI/CD 与发布速查/latest 标签的坑
构建与制品管理58 条

latest 标签的坑

latest 只是「最近推送」的别名:不表达版本、可被覆盖、容易造成环境漂移,生产部署应避免依赖它。

CI/CD 与发布速查开发更新于 2026-10-12
本质docker push 未指定标签时默认打 latest;含义是「最近」,不是「稳定」
K8s 行为imagePullPolicy 未显式指定时,latest 默认 Always 拉取
替代版本标签 / digest 锁定;确需追踪用途时改名 stable 并把规则写进文档

改掉引用

改掉引用
# 反例:
kubectl set image deploy/app app=registry/app:latest
# 推荐:
kubectl set image deploy/app app=registry/app:1.8.0
用 latest 的部署回滚时「回滚到哪个内容」不可确定:回滚依据必须落在不可变引用上。

易错点

  • 本地能拉到 latest 就以为集群也会:缓存/策略差异导致行为不一致
  • 把 latest 当发布通道:通道需要能被审计,latest 无法承担

数据来源与参考

  • Docker Docs《docker build》
  • Kubernetes 文档《Images》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌