如何解决如何自动删除cloudformation堆栈中许多ECR存储库中的所有图像
当尝试通过cloudformation删除包含Elastic Container存储库的堆栈时
如果ECRs本身包含图像,则会给用户一个错误提示
- “提供的存储库中有图像”-因此删除不起作用
我希望在我重新发布堆栈时自动删除所有图像,使用 删除/更新/创建亚马逊cloudformation堆栈的shell脚本
欢迎使用Bash脚本解决方案以及ECS政策解决方案, 我知道有很多解决方案可以实现这一目标,我正在寻找最 最佳且点击强度较低...
找到了其他具有一些建议的SO问题 但并没有真正提供明确的解决方案 Question1 Question2
解决方法
共享此bash脚本以删除aws帐户中的所有ECR图像 使用AWS命令行界面
由类似的SO Answer
分叉注意:小心使用它!
#!/bin/bash
# Delete all aws containerImages in all repositories / ! \
repositories=($(aws ecr describe-repositories --output text --query "repositories[*].repositoryName"))
if [[ -z "$repositories" ]]
then
echo "No repositories found";
exit 1;
fi
for repository in "${repositories[@]}";
do
imageIds=($(aws ecr list-images --repository-name $repository --query 'imageIds[*].imageDigest' --output text))
if [[ -z "$imageIds" ]]
then
echo "No images found in ${repository}";
else
for imageId in "${imageIds[@]}";
do
aws ecr batch-delete-image --repository-name $repository --image-ids imageDigest=$imageId
done;
fi
done;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。