一、背景
我们使用nexus搭建了docker镜像,随着推送的镜像数量越来越多,导致nexus服务器的磁盘空间不够用了。于是,我们急需先手动删除一些过期的镜像,可发现磁盘空间并没有释放。
那么,如何才能彻底释放掉呢?
使用nexus实现的npm私库和maven私库,想要清理掉无用的包,从而释放磁盘空间,同样的操作,就不一一重复。
二、nexus
针对不同类别的私库,存储在不同的blob里。
本文以docker镜像的清理为示例,说明如何操作,彻底释放磁盘空间。
上图可以看到,docker-hub已占用了38.93GB。
1、手动删除docker镜像
选中你要删除的镜像,
删除完,你回到Blob Stores查看docker-hub的空间并没有变化。
这个是因为这里的删除,仅仅是标记其为deleted。也就是我们常用的逻辑删除技巧。
如果要彻底删除它,还需要建立task任务。
2、task任务
在system-tasks下,create task,选择 "Admin - Compact blob store"
同理,你新建另外两个task任务,分别对应maven私库和npm私库的blob,见下:
3、验证
磁盘空间成功释放了20多个GB。。。