一、背景
我們使用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。。。