【问题标题】:How to delete untagged images in ECR如何删除 ECR 中未标记的图像
【发布时间】:2020-05-09 07:13:30
【问题描述】:

在将 docker 镜像(带有test 标签)推送到 ECR 后,不止一次,旧的 docker 镜像在 ECR 中没有标记

在 ECR 中删除未标记图像的 AWS CLI 命令是什么?

【问题讨论】:

  • @LinPy 不是真的工作... 未标记的图像有图像 URI:1111222334455.dkr.ecr.us-west-2.amazonaws.com/someimage@sha256:feeeeeeeee00d1e0b18fa5a19d15c3cb47d222e345862ddddddddddd0...... 这个 URI 中的ECR_REPO 是什么?我设置为someimage,不起作用

标签: docker aws-ecr


【解决方案1】:

当您发布 image:tag 时会发生这种情况,该标签将从之前的图像中删除。

您可以运行 CLI 命令来识别未标记的图像并将输出通过管道传送到命令以删除这些图像。

您还可以使用生命周期策略。

请参阅下面的链接。我自己没有测试过这个。

参考: How to delete untagged images from AWS ECR Container Registry

https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html

【讨论】:

  • ECR_REPO 是什么意思?因为我在 ECR 中看到未标记的图像 URI:1111222334455.dkr.ecr.us-west-2.amazonaws.com/someimage@sha256:feeeeeeeee00d1e0b18fa5a19d15c3cb47d222e345862ddddddddddd0
  • docs.aws.amazon.com/AmazonECR/latest/userguide/…你看到了吗,看起来你可以通过生命周期策略进行清理
  • 我应该使用 AWS CLI 管理删除图像。不允许设置生命周期策略。
  • 基本上是未标记图像的 URI。这样您就可以在需要时标记未标记的
【解决方案2】:

您可以尝试使用 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

此命令将递归删除所有未标记的图像。希望这能解决您的问题。

【讨论】:

  • 删除任何图像(未标记或标记) "AWSREGION=us-east-1 && aws 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=ANY --query 'imageIds[*]' --output text | awk '$1{print $1}' |while read imageId; do aws ecr batch-delete-image --region=$AWSREGION --repository-name "$line" --image-ids imageDigest=$imageId; done; done"
【解决方案3】:

您可以使用 AWS https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html 最近添加的 ECR 生命周期策略

以下是仅保留一个未标记图像而使所有其他图像失效

的策略示例

【讨论】:

    猜你喜欢
    • 2017-04-18
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多