将 docker 镜像(带test
标签)推送到 ECR 后,不止一次,旧的 docker 镜像在 ECR 中未加标签
在 ECR 中删除未标记图像的 AWS CLI 命令是什么?
发生的情况是,当您发布标签时,image:tag
该标签将从之前的图像中删除。
您可以运行 CLI 命令来识别未标记的图像并将输出通过管道传送到命令以删除这些图像。
您还可以使用生命周期策略。
请参阅下面的链接。我自己没有测试过这个。
参考: 如何从 AWS ECR Container Registry 中删除未标记的图像
https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
您可以使用 AWS 最近添加的 ECR 生命周期策略https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
您可以尝试使用 aws cli - 设置您的 ecr 存储库所在的正确 AWS 区域。
AWSREGION=us-west-2 && ecr describe-repositories --region=$AWSREGION --output text | awk '$5{print $5}' | sed -n 's/.*repository\/\(.*\)/\1/p' | while read line; do aws ecr list-images --region=$AWSREGION --repository-name "$line" --filter tagStatus=UNTAGGED --query 'imageIds[*]' --output text | while read imageId; do aws ecr batch-delete-image --region=$AWSREGION --repository-name "$line" --image-ids imageDigest=$imageId; done; done
此命令将递归删除所有未标记的图像。希望这能解决您的问题。