AWS ECR生命周期策略未清理全部无标签镜像问题咨询
AWS ECR生命周期策略问题排查与等效配置
问题原因
你当前的规则配置错误出在**“镜像数量超过1”**这个匹配条件上。ECR的生命周期规则逻辑是:当针对Untagged镜像设置“数量超过N”时,会保留该匹配集合(所有无标签镜像)里最新的N个,删除剩余的。你设置N=1,所以策略会自动保留1个最新的无标签镜像,这就是B组额外留存一个无标签镜像的原因——它是所有无标签镜像中最新的那个,被规则触发了保留逻辑。
模拟docker system prune的等效生命周期策略
docker system prune在本地会清理所有无引用的无标签镜像,对应到ECR中(无本地容器/服务引用的概念),等效需求是清理所有无标签镜像。正确的策略配置应该直接匹配所有Untagged镜像,不设置数量限制,直接执行expire操作:
{ "rules": [ { "rulePriority": 1, "description": "清理所有无标签镜像", "selection": { "tagStatus": "untagged" }, "action": { "type": "expire" } } ] }
若部分AWS区域要求必须设置数量条件,可调整为以下配置实现相同效果:
{ "rules": [ { "rulePriority": 1, "description": "清理所有无标签镜像", "selection": { "tagStatus": "untagged", "countType": "imageCountMoreThan", "countNumber": 0 }, "action": { "type": "expire" } } ] }
内容的提问来源于stack exchange,提问作者KingOtto
相关产品推荐
相关产品推荐

