k8s开发环境,删除过期镜像,保留最近5个镜像
#!/bin/bash#删除过期镜像,保留最新5个版本CDATE=`date '+%Y-%m-%d_%H:%M:%S'`#######nexus,经常发版的关键字是"springcloud"for service in `docker images | grep 'springcloud' | awk '{print $1}' |sort -u`dofor i in `docker images
·
#!/bin/bash
#删除过期镜像,保留最新5个版本
CDATE=`date '+%Y-%m-%d_%H:%M:%S'`
#######nexus,经常发版的关键字是"springcloud"
for service in `docker images | grep 'springcloud' | awk '{print $1}' |sort -u`
do
for i in `docker images | grep $service | awk '{print $2}' | awk -F"-" '{print $1}' | sort -u`
do
banben=`docker images | grep $service | awk '{print $2}' | grep $i`
mem=`docker images | grep $service | awk '{print $2}' | grep $i |wc -l`
done
echo $banben
if [[ $mem -gt 5 ]];then
arr=(${banben// /})
#保留同样类型的5个镜像
for(( j=5;j<${#arr[@]};j++)) do
docker rmi $service:${arr[j]}
echo "docker rmi $service:${arr[j]} 执行时间:$CDATE" >> /home/log_delete_images.log
done
fi
done
因k8s的开发环境经常发版,导致镜像太多,占用磁盘空间,该脚本只保留5个同类型的镜像,例如:
a.service有镜像qa-1,qa-2,qa-3,qa-4,qa-5,qa-6,debug-qa-1,debug-qa-2,debug-qa-3,debug-qa-4,debug-qa-5,debug-qa-6
执行之后会删掉qa-1,debug-qa-1,其他的都保留
更多推荐
已为社区贡献3条内容
所有评论(0)