一鍵清理 Nexus 中無用的 Docker 映象

2021-09-05 11:35:34 字數 1684 閱讀 9023

現許多團隊使用 nexus 來管理 docker 映象,產品不斷迭代,映象倉庫占用的磁碟空間也越來越大。由於 nexus 的控制台並未提供批量操作映象功能,清理映象十分不便。本文分享乙個清理 nexus 中 docker 映象的小工具 —nexus-cli

可參考 nexus-cli 的相關資料,nexus-cli github、開發者部落格原文、nexus 官方部落格文章。

下面結合 nexus-cli + sublime 做乙個演示。

wget 

chmod +x nexus-cli

$ nexus-cli configure

enter nexus host:

enter nexus repository name: demo

enter nexus username: admin

enter nexus password: ******

是 nexus 服務的位址,為了安全,可以直接在 nexus 所在的機器處理。

$ nexus-cli image ls

oauth-service

report-service

fund-service

...

這裡僅列出三個作為例子。

nexus-cli image delete -name image_name -keep x,-keep x 表示保留幾個tag

清理單個映象的tag,這裡僅保留最新的兩個tag

$ nexus-cli image delete -name fund-service -keep 2

fund-service:2018.11.1-113322 image will be deleted ...

fund-service:2018.11.1-113322 has been successful deleted

fund-service:2018.11.1-145912 image will be deleted ...

fund-service:2018.11.1-145912 has been successful deleted

...

清理所有映象的tag,結合 sublime 的批量處理功能,十分方便。

最後,建立兩個nexus task 來清理物理空間。先執行purge unused docker manifests and images,再執行compact blob store

此時,可以檢視磁碟目錄sonatype-work/nexus3/blobs/的磁碟占用情況。

$ du -lh --max-depth=1 . | grep demo

2.1g ./demo

由於開發測試環境中應用迭代非常頻繁,映象消耗磁碟的速度也非常快。若磁碟空間足夠,每隔一定時間手工清理即可;若需要頻繁清理,使用指令碼自動化處理也十分方便。

一鍵清理 Nexus 中無用的 Docker 映象

現許多團隊使用 nexus 來管理 docker 映象,產品不斷迭代,映象倉庫占用的磁碟空間也越來越大。由於 nexus 的控制台並未提供批量操作映象功能,清理映象十分不便。本文分享乙個清理 nexus 中 docker 映象的小工具 nexus cli。可參考 nexus cli 的相關資料,ne...

一鍵清理 Nexus 中無用的 Docker 映象

現許多團隊使用 nexus 來管理 docker 映象,產品不斷迭代,映象倉庫占用的磁碟空間也越來越大。由於 nexus 的控制台並未提供批量操作映象功能,清理映象十分不便。本文分享乙個清理 nexus 中 docker 映象的小工具 nexus cli。可參考 nexus cli 的相關資料,ne...

一鍵清理硬碟垃圾

一鍵清除膝上型電腦系統垃圾還我硬碟空間 大部分膝上型電腦都存在垃圾,垃圾是如何產生的呢,是在安裝和使用過程中都會產生相當多的垃圾檔案,包括臨時檔案 如 tmp mp 日誌檔案 log 臨時幫助檔案 gid 磁碟檢查檔案 chk 臨時備份檔案 如 old bak 以及其他臨時檔案等等。特別是如果一段時...