如何为基于SHA值(任意随机字符)创建的镜像指定tagPrefixList与tagStatus=TAGGED?
ECR镜像标签为随机SHA值时的生命周期策略配置方案
当容器镜像的标签是由随机字符组成的SHA值、且需要将tagStatus设置为TAGGED时,无需指定tagPrefixList参数(或把该参数设为空数组[])即可满足需求。因为tagPrefixList的作用是匹配带有特定前缀的标签,而随机SHA标签没有统一前缀,留空该参数就能匹配所有带标签的镜像。
修改后的Terraform配置示例
resource "aws_ecr_lifecycle_policy" "foopolicy" { repository = aws_ecr_repository.foo.name policy = <<EOF { "rules": [ { "rulePriority": 1, "description": "保留最近30个镜像", "selection": { "tagStatus": "tagged", // 移除tagPrefixList或设为[],匹配所有带标签的镜像(含随机SHA标签) "countType": "imageCountMoreThan", "countNumber": 30 }, "action": { "type": "expire" } } ] } EOF }
关键说明
- 移除
tagPrefixList字段后,规则会覆盖所有带有标签的镜像,不管标签是随机SHA还是其他格式。 - 若要保留
tagPrefixList字段,将其设为空数组[]也能达到相同效果。
内容的提问来源于stack exchange,提问作者Hemant Pharande
相关产品推荐
相关产品推荐

