Docker Hub 上的不可变标签

可用性: 测试版

不可变标签提供了一种方法,可以确保特定镜像版本一旦发布到 Docker Hub,就不会被更改。此功能通过防止意外覆盖重要的镜像版本,帮助您在容器部署中保持一致性和可靠性。

什么是不可变标签?

不可变标签是镜像标签,一旦推送到 Docker Hub,就不能被覆盖或删除。这确保了镜像的特定版本在其整个生命周期中保持完全相同,提供

  • 版本一致性
  • 可复现构建
  • 防止意外覆盖
  • 更好的安全性和合规性

启用不可变标签

为您的存储库启用不可变标签

  1. 登录 Docker Hub
  2. 选择 My Hub > Repositories
  3. 选择要启用不可变标签的存储库。
  4. 转到 设置 > 常规
  5. 标签可变性设置 下,选择以下选项之一
    • 所有标签均可变(默认):
      标签可以更改为引用不同的镜像。这允许您重新定位标签而无需创建新标签。
    • 所有标签均不可变:
      标签创建后不能更新以指向不同的镜像。这确保了一致性并防止意外更改。这包括 latest 标签。
    • 特定标签不可变:
      使用正则表达式定义创建后无法更新的特定标签。
  6. 选择保存

启用后,所有标签都将锁定到其特定镜像,确保每个标签始终指向相同的镜像版本且无法修改。

注意

此正则表达式的实现遵循 Go regexp 包,该包基于 RE2 引擎。有关更多信息,请访问 RE2 正则表达式语法

使用不可变标签

启用不可变标签后

  • 您不能使用相同的标签名称推送新镜像
  • 您必须为每个新镜像版本使用新的标签名称

要推送镜像,请为更新后的镜像创建一个新标签,并将其推送到存储库。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.