一、下载客户端工具
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释放存储空间,该任务应最后运行。