Docker Hub 上的不可变标签
目录
不可变标签提供了一种方法,可以确保特定镜像版本一旦发布到 Docker Hub,就不会被更改。此功能通过防止意外覆盖重要的镜像版本,帮助您在容器部署中保持一致性和可靠性。
什么是不可变标签?
不可变标签是镜像标签,一旦推送到 Docker Hub,就不能被覆盖或删除。这确保了镜像的特定版本在其整个生命周期中保持完全相同,提供
- 版本一致性
- 可复现构建
- 防止意外覆盖
- 更好的安全性和合规性
启用不可变标签
为您的存储库启用不可变标签
- 登录 Docker Hub。
- 选择 My Hub > Repositories。
- 选择要启用不可变标签的存储库。
- 转到 设置 > 常规。
- 在 标签可变性设置 下,选择以下选项之一
- 所有标签均可变(默认):
标签可以更改为引用不同的镜像。这允许您重新定位标签而无需创建新标签。 - 所有标签均不可变:
标签创建后不能更新以指向不同的镜像。这确保了一致性并防止意外更改。这包括latest标签。 - 特定标签不可变:
使用正则表达式定义创建后无法更新的特定标签。
- 所有标签均可变(默认):
- 选择保存。
启用后,所有标签都将锁定到其特定镜像,确保每个标签始终指向相同的镜像版本且无法修改。
注意此正则表达式的实现遵循 Go regexp 包,该包基于 RE2 引擎。有关更多信息,请访问 RE2 正则表达式语法。
使用不可变标签
启用不可变标签后
- 您不能使用相同的标签名称推送新镜像
- 您必须为每个新镜像版本使用新的标签名称
要推送镜像,请为更新后的镜像创建一个新标签,并将其推送到存储库。