Harbor是一個開源的企業級Docker Registry工具,由VMware公司開發并維護。它提供了鏡像的存儲、分發、安全掃描、復制等功能,適用于企業級容器鏡像管理。Harbor不僅支持Docker鏡像,還支持Helm Chart等其他類型的容器鏡像。
Harbor的主要特點包括: - 安全性:支持鏡像簽名、漏洞掃描、訪問控制等安全功能。 - 高可用性:支持多節點部署,確保系統的高可用性。 - 易用性:提供友好的Web界面,方便用戶進行鏡像管理。 - 擴展性:支持插件機制,可以根據需求擴展功能。
Harbor的核心功能包括: 1. 鏡像存儲與管理:支持Docker鏡像的存儲、分發和管理。 2. 鏡像復制:支持跨多個Harbor實例的鏡像復制,確保鏡像的高可用性。 3. 鏡像掃描:集成Clair等漏洞掃描工具,支持鏡像的安全掃描。 4. 鏡像簽名:支持Notary工具,確保鏡像的完整性和來源可信。 5. 權限管理:支持基于角色的訪問控制(RBAC),確保鏡像的安全訪問。 6. 日志與審計:提供詳細的日志記錄和審計功能,方便管理員進行監控和排查問題。
在安裝Harbor之前,需要確保系統滿足以下要求: - 操作系統:Linux(推薦Ubuntu 16.04或CentOS 7) - Docker:版本17.06.0-ce或更高 - Docker Compose:版本1.18.0或更高 - 硬件資源:至少4GB內存,2核CPU,50GB磁盤空間
訪問Harbor的GitHub Release頁面,下載最新版本的Harbor安裝包。
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
tar -xzvf harbor-offline-installer-v2.4.0.tgz
進入解壓后的目錄,編輯harbor.yml
文件,配置Harbor的相關參數。
cd harbor
vi harbor.yml
在harbor.yml
中,可以配置以下參數:
- hostname:Harbor的訪問地址,例如harbor.example.com
。
- http或https:配置HTTP或HTTPS訪問方式。
- database:配置數據庫連接信息。
- storage:配置鏡像存儲路徑。
執行安裝腳本,啟動Harbor服務。
./install.sh
安裝完成后,Harbor會自動啟動,并可以通過瀏覽器訪問。
為了提高安全性,建議配置HTTPS訪問。首先,生成自簽名證書:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
然后,將生成的ca.key
和ca.crt
文件放入Harbor的/data/cert
目錄,并在harbor.yml
中配置HTTPS:
https:
port: 443
certificate: /data/cert/ca.crt
private_key: /data/cert/ca.key
Harbor支持LDAP/AD認證,可以在harbor.yml
中配置LDAP/AD連接信息:
ldap:
url: ldap://ldap.example.com
base_dn: dc=example,dc=com
uid: cn
filter: (objectClass=person)
scope: 2
timeout: 5
Harbor支持跨多個實例的鏡像復制,可以在harbor.yml
中配置復制策略:
replication:
enabled: true
policies:
- name: replication-policy
description: "Replication policy for production"
src_registry: https://harbor.example.com
dest_registry: https://harbor-backup.example.com
filters:
- repository: "library/**"
trigger:
type: "manual"
使用Docker CLI登錄Harbor:
docker login harbor.example.com
輸入用戶名和密碼后,即可登錄成功。
打開瀏覽器,訪問https://harbor.example.com
,輸入用戶名和密碼登錄。
登錄Harbor后,點擊“項目”菜單,然后點擊“新建項目”按鈕,輸入項目名稱和描述,點擊“確定”即可創建項目。
使用Harbor的API創建項目:
curl -X POST -H "Content-Type: application/json" -d '{"project_name":"my-project","public":true}' https://harbor.example.com/api/v2.0/projects
首先,使用Docker CLI標記鏡像:
docker tag my-image:latest harbor.example.com/my-project/my-image:latest
然后,推送鏡像到Harbor:
docker push harbor.example.com/my-project/my-image:latest
使用Docker CLI拉取鏡像:
docker pull harbor.example.com/my-project/my-image:latest
登錄Harbor后,可以在“項目”頁面查看所有鏡像。
在鏡像詳情頁面,點擊“刪除”按鈕即可刪除鏡像。
Harbor支持跨多個實例的鏡像復制,可以在“復制管理”頁面配置復制策略,并手動或自動觸發復制任務。
Harbor集成了Clair等漏洞掃描工具,可以在“鏡像掃描”頁面掃描鏡像,并查看掃描結果。
Harbor支持Notary工具,可以在“鏡像簽名”頁面為鏡像簽名,確保鏡像的完整性和來源可信。
Harbor支持基于角色的訪問控制(RBAC),可以在“用戶管理”頁面為用戶分配角色,確保鏡像的安全訪問。
Harbor的日志存儲在/var/log/harbor
目錄下,可以通過查看日志文件進行問題排查。
Harbor集成了Prometheus和Grafana,可以在“監控”頁面查看系統的性能指標。
Harbor的數據庫和鏡像存儲可以通過備份工具進行備份和恢復,確保數據的安全性。
檢查/var/log/harbor
目錄下的日志文件,查看具體的錯誤信息。
檢查Docker的配置文件,確保insecure-registries
中配置了Harbor的地址。
檢查Clair服務的狀態,確保Clair服務正常運行。
Harbor是一個功能強大的企業級Docker Registry工具,適用于企業級容器鏡像管理。通過本文的介紹,您可以了解Harbor的安裝、配置、基本使用和高級功能,并掌握Harbor的維護與監控方法。希望本文能幫助您更好地使用Harbor,提升容器鏡像管理的效率與安全性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。