harbor磁盤爆滿,執行垃圾回收清理鏡像

1.在使用Jenkins發版操做時發現,推送私有倉庫harbor報錯:redis

received unexpected HTTP status: 500 Internal Server Errordocker

2.想要登錄harbor查看,發現harbor界面登錄報錯:登錄校驗失敗服務器

3.登錄服務器,查看harbor的日誌,在redis.log中找到報錯信息spa

 

 提示磁盤爆滿日誌

4.登錄ranchar,發現rancher也掛掉了,執行:docker ps -a |grep ranchar ,拿到ranchar的容器id,執行:docker logs --tail=200 ranchar容器id 查看ranchar的日誌code

當時忘了截圖了。。blog

總之也提示磁盤已滿內存

5.查看磁盤使用狀況,執行:df -hit

 

 發現/home目錄已滿console

6.進入home目錄下,執行:du -hs *| sort -h,發現harbor佔比最大,而後一路找下去,發現是harbor的/registry/docker/registry 佔比最大

至此,已能判斷出是harbor的鏡像佔用內存過大,致使磁盤爆滿

7.中止harbor,防止在刪除鏡像過程當中有人在上傳鏡像,致使鏡像的圖層不全

docker-compose stop

8.預覽運行效果

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

9.刪除相關文件和鏡像

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

10.啓動harbor

docker-compose start

 

至此,harbor已經能夠登陸,上傳鏡像發版也沒有問題了

相關文章
相關標籤/搜索