nexus3 docker镜像仓库清理脚本

一、下载客户端工具

wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli
添加权限:chmod 777 nexus-cli

二、创建及执行脚本clean.sh

images=`./nexus-cli image ls|grep -vE "Total images"`
for image in $images
do
    ./nexus-cli image delete -n $image -k 3 #保留最后三个tag,tag为数字才能被正常判断
done

添加执行权限:chmod 777 clean.sh
执行脚本:./clean.sh

三、添加crontab定时任务每日执行脚本

打开定时器:crontab -e
添加记录(每天凌晨2点执行):0 2 * * * sh /home/nexus/clean.sh

四、Nexus后台创建任务

1、进入创建任务界面
在这里插入图片描述

2、创建 Docker - Delete unused manifests and images 任务
在这里插入图片描述

3、创建Admin - Compact blob store任务
在这里插入图片描述

4、运行任务
4.1 任务创建完后,在任务列表可看见clean docker和clean docker blob两个任务
在这里插入图片描述
4.2 进入clean docker任务,点击Run按钮,任务状态变成Running,等待任务运行完毕
在这里插入图片描述
4.3 clean docker任务运行完毕后,存储空间并未释放,接着再运行clean docker blob任务,运行完毕后空间释放。

总结

1、通过nexus-cli工具配合脚本批量删除历史镜像;
2、通过nexus后台任务-Delete unused manifests and images清除镜像;
3、通过nexus后台任务-Compact blob store释放存储空间,该任务应最后运行。

猜你喜欢

转载自blog.csdn.net/l2931050/article/details/125218557