(十七)VMware Harbor 垃圾清理


1. 在線垃圾清理

注意:從Harbor中刪除鏡像時不釋放空間,垃圾收集是通過從清單中不再引用文件系統中刪除blob來釋放空間的任務。

注意:在執行垃圾收集時,Harbor將進入只讀模式,並且禁止對docker注冊表進行任何修改。

垃圾清理定時任務:

1.無

2.每天

3.每周

4.每小時

5.自定義

history

顯示垃圾回收記錄

 

 離線-Harbor鏡像刪除空間回收

Harbor私有倉庫運行一段時間后,倉庫中存有大量鏡像,會占用太多的存儲空間。直接通過Harbor界面刪除相關鏡像,並不會自動刪除存儲中的文件和鏡像。需要停止Harbor服務,執行垃圾回收命令,進行存儲空間清理和回收。

1、首先,刪除Harbor的UI中的存儲庫。這是軟刪除。您可以刪除整個存儲庫或僅刪除它的標簽。軟刪除后,Harbour中不再管理存儲庫,但是存儲庫的文件仍然保留在Harbour的存儲中。 

2、接下來,使用注冊表的垃圾回收(GC)刪除存儲庫的實際文件。在執行GC之前,確保沒有人推送圖像或Harbour根本沒有運行。如果有人在GC運行時推送鏡像,則存在鏡像層被錯誤刪除的風險,從而導致鏡像損壞。所以在運行GC之前,首選的方法是先停止Harbour。

第一步:停止Harbor

cd /usr/local/harbor
docker-compose stop

第二步: 
在部署Harbour的主機上運行以下命令以預覽會影響哪些文件/鏡像 
注:上述選項”–dry-run”將打印進度而不刪除任何數據。

docker run -it --name gc --rm --volumes-from registry vmware/registry-photon:v2.6.2-v1.5.0 garbage-collect --dry-run /etc/registry/config.yml

驗證上述測試的結果,然后使用以下命令執行垃圾回收並重新啟動Harbour。

docker run -it --name gc --rm --volumes-from registry vmware/registry-photon:v2.6.2-v1.5.0 garbage-collect /etc/registry/config.yml

3、重啟harbor各組件鏡像

docker-compose start

最后驗證: 
a:du -sh /data/registry/docker/registry/v2/blobs&repositories和之前該目錄文件大小做對比 
b:重新上傳之前刪除的鏡像,如沒成功刪除會報鏡像已存在,能成功上傳則一切ok,恭喜 

 

參考:https://www.tuicool.com/articles/2QVBvyA

參考:https://blog.csdn.net/kong2030/article/details/81331142

參考:http://www.itboth.com/d/U367Vz/docker


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM