本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
防止映像标签在 Amazon ECR 中被覆盖
您可以在存储库中开启标签不可变性,以防止覆盖映像标签。为开启标签不可变性后,如果您推送某个标签已经在存储库中的映像,将返回 ImageTagAlreadyExistsException
错误。标签不可变性会影响所有标签。您不能使某些标签不可变,而另一些则不是。
您可以使用 Amazon Web Services Management Console 和 Amazon CLI 工具,对新存储库或现有存储库设置映像标签的可变性。要使用控制台步骤创建存储库,请参阅创建 Amazon ECR 私有存储库以存储映像。
设置映像标签的可变性(Amazon Web Services Management Console)
要设置映像标签的可变性
从 https://console.aws.amazon.com/ecr/repositories
打开 Amazon ECR 控制台。 -
从导航栏中,选择包含要编辑的存储库的区域。
-
在导航窗格中,选择存储库。
-
在 Repositories(存储库)页面上,选择 Private(私有)选项卡,然后选择要编辑的存储库,并选择 Edit(编辑)。
-
对于标签不变性,选择存储库的标签可变性设置。配置有不可变标签的存储库会阻止覆盖镜像标签。有关更多信息,请参阅 防止映像标签在 Amazon ECR 中被覆盖。
-
对于 Image scan settings(镜像扫描设置),尽管您可以在存储库级别为基础扫描指定扫描设置,但最佳实践是在私有注册表级别指定扫描配置。通过在私有注册表级别指定扫描设置,您可以启用增强扫描或基本扫描,并定义用于指定扫描哪些存储库的筛选条件。有关更多信息,请参阅 扫描图像以查找 Amazon 中的软件漏洞 ECR。
-
对于 Encryption settings(加密设置),此字段仅供查看,因为存储库的加密设置在存储库创建完成之后无法更改。
-
选择保存以更新存储库设置。
设置映像标签的可变性(Amazon CLI)
创建配置有不可变标签的存储库
使用以下命令之一创建配置有不可变标签的新镜像存储库。
-
create-repository (Amazon CLI)
aws ecr create-repository --repository-name
name
--image-tag-mutabilityIMMUTABLE
--regionus-east-2
-
New-ECRRepository (Amazon Tools for Windows PowerShell)
New-ECRRepository -RepositoryName
name
-ImageTagMutabilityIMMUTABLE
-Regionus-east-2
-Force
要更新存储库的映像标签可变性设置
使用以下命令之一更新现有存储库的镜像标签可变性设置。
-
put-image-tag-mutability (Amazon CLI)
aws ecr put-image-tag-mutability --repository-name
name
--image-tag-mutabilityIMMUTABLE
--regionus-east-2
-
Write-ECRImageTagMutability (Amazon Tools for Windows PowerShell)
Write-ECRImageTagMutability -RepositoryName
name
-ImageTagMutabilityIMMUTABLE
-Regionus-east-2
-Force