定时清理测试docker的镜像

背景

接到一个需求,具体是定时清理测试平台的前端后端产生的镜像文件

实现步骤

思路

先实现清理docker的镜像的shell脚本编写,后依赖操作系统的定时任务管理并且加上使之生效

第一部分(脚本编写)

复制代码
#!/bin/bash


#定义删除后端镜像函数
clearBackend(){
docker images | grep "backend/test/atp" | awk '{print $3}' | awk '(NR>3){print}' | while read backend
do
   echo "要删除的后端镜像是:$backend"
   docker rmi $backend
done
}



#定义删除前端镜像函数
clearFrontend(){
docker images | grep "frontend/test/atp"  | awk '{print $3}' | awk '(NR>3){print}'  | while read frontend
do
   echo "要删除的前端镜像是:$frontend"
   docker rmi $frontend
done
}


echo "------开始执行清理镜像------"
clearBackend
clearFrontend
echo "------清理完毕------"
复制代码

脚本功能说明:

分别只保留前端和后端的最近3个的镜像,其他的都删除

不足:

没有加上判断,前后端镜像文件数小于等于3时,不执行删除动作

第二部分

1、加上定时任务

0 2 * * 3 /bin/sh /opt/data/script/clear_images.sh

2、使之生效

 service crond restart

延伸阅读

linux的定时任务详细版

 

posted @   未来可期_Durant  阅读(202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示