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`
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,其他的都保留

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值