想要从容器注册表中过滤gcp docker映像摘要

我制作了一个脚本,该脚本过滤了25天前的gcp docker容器摘要,结果将循环到gcloud docker container delete命令中。它正在工作,但是我担心的是,如果最新的文件本身早于25天,那么我的脚本也会将其删除。如果只有最新版本,我想跳过,它将删除。

#!/bin/bash 
DIGESTS=$(gcloud container images list-tags ** --format 'value(digest)' --filter="timestamp.datetime < '$(date +"%Y-%m-%d" --date="25 days ago")'")
COUNT=0 
echo "Keeping the latest 2 digest of the service" 
for DIGEST in $DIGESTS 
do 
((COUNT++)) 
if [[ $COUNT -gt 2 ]] ; 
then echo "Going to delete version $DIGEST of the zeus service." 
gcloud container images delete -q ***@sha256:$DIGEST 
else echo "Going to keep version $DIGEST of the name service." 
fi 
done
jjydjy 回答:想要从容器注册表中过滤gcp docker映像摘要

您可以添加对集装箱数量的检查,如果只有一个,则退出

#!/bin/bash 
DIGESTS=$(gcloud container images list-tags ** --format 'value(digest)' --filter="timestamp.datetime < '$(date +"%Y-%m-%d" --date="25 days ago")'")
WCOUNT=$(echo $DIGESTS|wc -w)
if [ "$WCOUNT" -eq 1 ]
 then exit
fi
echo "Keeping the latest 2 digest of the service" 
for DIGEST in $DIGESTS 
do 
if [[ $WCOUNT -gt 2 ]] ; 
then echo "Going to delete version $DIGEST of the zeus service." 
gcloud container images delete -q ***@sha256:$DIGEST 
else echo "Going to keep version $DIGEST of the name service." 
fi 
((WCOUNT--)) 
done
本文链接:https://www.f2er.com/3103707.html

大家都在问