前言

Harbor 是一套開源且功能齊全的 Regisrty (Image 儲存庫),相較於多數 Image Regisrty,個人覺得 Harbor 功能齊全且介面友善:有提供使用者管理功能 (支援多種驗證)、儲存架構(Project/Repos/Artifact)、Replicaton、安全掃描...等。有幸於工作關係,能夠接觸到這套 Registry 服務,見識到實務上有各種不同架構組合、如何維運與問題排除。後續會將一些經驗寫成系列文章,除了作學習筆記外,也提供有興趣的朋友參考。本篇文章若有錯誤或任何建議,請各位前輩不吝提出。




文章目錄

  1. Open Source Registry - Harbor 介紹與安裝
  2. Harbor - HTTPS 憑證設定
  3. Harbor - 建立專案與儲存庫功能
  4. Harbor - 權限管理介紹與機器人帳戶
  5. Harbor - Project Quote 與 Garbage Collection 功能
  6. Harbor - Proxy cache 介紹與說明
  7. Harbor - 資料複製管理 (Replication)
  8. Harbor - 安全掃描套件 Trivy
  9. Harbor - 如何啟用 metrics 服務
  10. Harbor - Tag Retention Rules 介紹





安裝前必要條件

必須先安裝 docker enginedocker compose





安裝流程

首先,我們先前往 Harbor Release 頁面 ,找到最新版本 Release 並拉至下方找到 Assets 下載安裝程式。線上與線下安裝程式的差異在於前者會從 docker hub 下載 Harbor 印象檔案,適用於可連結網路環境;後者則包含預先建置的 image,容量較大,適用於無法連結外部網路環境。




我們架設的環境是 Ubuntu,所以透過 wget 下載線下安裝檔案,並透過 tar 指令進行解壓縮

wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz

tar xzvf harbor-offline-installer-v2.10.0.tgz



在啟動 Harbor 之前,我們要先對 Harbor 進行設定。切換目錄至 Harbor 資料夾,開啟 harbor.yanl.tmpl 進行修改。 (如果沒有修改直接執行會發生錯誤)

cd harbor
vi harbor.yml.tmpl



我們將 Domain、HTTP/HTTPS、Certificate 與 Admin Password 進行修改 (如下紅色框處)。




如果要將資料儲存至另外的資料硬碟,記得更改 data_volume




修改完成後,輸入指令 mv harbor.yml.tmpl harbor.yml 將檔案名稱改為 harbor.yml,執行 sudo ./install.sh 即可啟動 Harbor。

後續若有調整 harbor.yml 內容,可以透過 ./prepare 指令重新載入設定





開啟瀏覽器,輸入網址或 IP,即可看見 Harbor 登入畫面。您可以透過先前在 harbor.yml 內設定的管理者密碼進行登入。到目前為止,我們完成 Harbor 架設 :)。