背景
接到一个需求,具体是定时清理测试平台的前端后端产生的镜像文件
实现步骤
思路
先实现清理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
延伸阅读
标签:frontend,echo,------,镜像,docker,定时 From: https://www.cnblogs.com/Durant0420/p/16864969.html