首頁

目前文章總數:190 篇

  

最後更新:2025年 07月 26日

0018. Harbor 實務維護 - 解決儲存空間不足:Image 保留策略與日誌清理

日期:2025年 08月 02日

標籤: Linux Ubuntu Docker Docker-Compose Container DockerHub Harbor

摘要:資訊筆記


應用所需:1. Linux Ubuntu (本篇使用 22.04)
     2. 確保已安裝 Docker / Docker-Compose
     3. 已搭建 Harbor
相關參考:0005. 架設 DockerHub Private Repository - Harbor (架設私有企業級免費 Docker 倉庫)
解決問題:1. Harbor 預設不會處理刪除 Image、日誌管理,本篇說明如何立即刪除與制定策略定期清理出空間
基本介紹:本篇分為 2 大部分。
第一部分:Image 清理 & 保留策略
第二部分:日誌 清理 & 保留策略






第一部分:Image 清理 & 保留策略

Step 1:登入 Harbor - 專案

登入 Harbor -> 選擇專案 -> 進入自己的專案 (範例是 dev) -> 選擇 儲存庫
可以觀察到目前 artifact 裡的 Image 數量相當多,如果沒有管理策略,很快就會面臨空間不足

Step 2:進入 Ubuntu - 檢查當前空間

進入 Ubuntu 輸入以下指令,可以觀察到空間還有 57G 可以使用,這裡做紀錄,用來比對刪除後的結果

df -h



Step 3:Harbor專案 - 原則頁籤

如圖,進入原則頁籤

Step 4:Harbor專案 - 新增原則

選擇新增規則

項目 設定值 說明
1. 套用到儲存庫 符合 ; ** 使用正則的 ** 加上符合等於所有
2. 以映像檔或天數為條件 保留最近推送的 # 個映像檔 ; 3 依照自己需要保留的數量(可用來回滾版本)
3. 標籤 符合 ; ** 同 1. 說明



Step 5:Harbor專案 - 原則模擬執行

完成後,可以執行模擬原則,觀察預期會標記多少個映像檔為刪除
如圖,每個都會保留最多 3 個,並且執行時間都大約 1 秒

Step 6:Harbor專案 - 正式執行 - 1

如果模擬執行中確認時間映像檔保留數量 都有符合預期,接著可進行實際執行
先打勾要執行的項目 -> 立即執行

Step 7:Harbor專案 - 正式執行 - 2

Harbor 會跳出警告,做最後確認,進行正式執行

Step 8:Harbor專案 - 原則設定刪除策略

為了未來會自動刪除,也可以依照自己需要設置合理的自動刪除時間,針對此規則。

Step 9:Harbor專案 - 執行完成 & 檢查空間

執行完成後,會出現執行紀錄


回到 Ubuntu 檢查硬碟空間,可以發現實際上並未真正刪除,這是因為原則中只是先進行標記刪除

Step 10:Harbor系統管理 - 清理

回到 Harbor -> 進入系統管理 -> 清理 -> 垃圾回收 -> 點擊立即執行回收
這個動作就會將標記刪除 Image 進行真實刪除

Step 11:Harbor專案 - 設定定時清理與保留策略

為了未來也會定時清理,可以在清理的定時策略上設定自己預期的時間,使其自動化

Step 12:Harbor專案 - 清理歷史紀錄

無論立即清理、自動清理,都會在垃圾回收歷史紀錄中,便於日後追蹤

Step 13:Harbor專案 - 檢查空間

再次檢查 Ubuntu 硬碟空間,可以看到空間變為 59G ,釋放了 2G



第二部分:日誌 清理 & 保留策略

Step 1:Harbor- 日誌

若持久化運行的 Harbor 日誌若沒有特別清理,預設都會永久保留,因此也需要合理的策略處裡
進入 Harbor -> 選擇左側菜單 日誌

Step 2:Harbor- 檢查日誌量

進入後,拉至最下方,可以觀察到當前的日誌筆數,我的 Harbor 當前有 1,385,263 筆資料,十分龐大

Step 3:Harbor系統管理 - 清理日誌

回到 Harbor -> 進入系統管理 -> 清理 -> 日誌輪替 -> 點擊立即清除
這個動作就會將系統中的包含的操作,打勾的項目進行刪除

Step 4:Harbor系統管理 - 日誌保留的策略

日誌的設定策略是針對整個 Harbor ,因此可以合理的配置 安排清除 的排定清除時間,完成自動化清理日誌

Step 5:Harbor系統管理 - 確認清理日誌紀錄 - 1

在 Step3. 中進行清理日誌,也會出現紀錄,範例清理了 1,385,034 筆紀錄

Step 6:Harbor系統管理 - 確認清理日誌紀錄 - 2

刪除完成後,只留下了 229 筆紀錄,定期的清理日誌,避免未來空間不足的隱憂