簡介
Harbor 是一個用於儲存和管理 Docker 映像和 Helm 圖表的開源註冊表。 Harbor 透過新增使用者管理、安全掃描和登錄之間的映像複製等功能來擴充 Docker 註冊表。
系統需求
- 作業系統:Ubuntu 24.04 LTS
- 中央處理器:至少 2 核
- 記憶體:最低 4GB(建議 8GB)
- 硬碟:至少 40GB 可用空間
- 訪問權:root 或 sudo
安裝步驟
第 1 步:更新系統
首先,更新軟體包清單並升級系統:
巴什
sudo apt update
sudo apt upgrade -y步驟2:安裝Docker
Harbor 需要 Docker 才能運作。使用以下命令安裝 Docker:
巴什
# Cài đặt Docker sudo apt install -y docker.ioKhởi động và kích hoạt Docker
sudo systemctl start docker sudo systemctl enable docker
Kiểm tra phiên bản Docker
docker --version
第 3 步:安裝 Docker Compose
Docker Compose 用於管理 Harbor 容器:
# Tải Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composeCấp quyền thực thi
sudo chmod +x /usr/local/bin/docker-compose
Kiểm tra phiên bản
docker-compose --version
第四步:下載Harbor
移至資料夾 /選擇 並下載最新版本的Harbor:
# Di chuyển đến thư mục /opt cd /optTải Harbor (phiên bản 2.11.2 - kiểm tra phiên bản mới nhất tại GitHub)
sudo wget https://github.com/goharbor/harbor/releases/download/v2.11.2/harbor-offline-installer-v2.11.2.tgz
Giải nén
sudo tar xzvf harbor-offline-installer-v2.11.2.tgz
第5步:配置Harbor
進入 Harbor 資料夾並建立一個設定檔:
cd /opt/harbor
sudo cp harbor.yml.tmpl harbor.yml編輯設定檔 港口.yml:
sudo nano harbor.yml要配置的重要參數:
# Hostname - thay bằng IP hoặc domain của bạn hostname: your-domain.com # hoặc IP: 192.168.1.100Giao thức HTTP
http: port: 80
Giao thức HTTPS (tùy chọn - khuyến nghị cho production)
Bỏ comment nếu muốn sử dụng HTTPS
https:
port: 443
certificate: /path/to/cert.crt
private_key: /path/to/cert.key
Mật khẩu admin mặc định (NÊN ĐỔI)
harbor_admin_password: Harbor12345
Cơ sở dữ liệu
database: password: root123 max_idle_conns: 100 max_open_conns: 900
Thư mục lưu trữ data
data_volume: /data
重要提示:
- 主機名稱:必須是您造訪Harbor的網域或IP
- 港口管理員密碼:更改預設密碼以確保安全
- 如果您只在本機電腦上進行測試,則可以將其保留在 HTTP 上。對於生產,您應該使用 HTTPS
第6步:安裝Harbor
運行安裝腳本:
# Cài đặt Harbor cơ bản sudo ./install.shHoặc cài đặt với các thành phần bổ sung
sudo ./install.sh --with-trivy --with-chartmuseum
安裝選項:
--with-trivy:啟用漏洞掃描--with-chartmuseum:啟用 Helm 圖表存儲庫支持--與公證人:啟用內容信任數位簽章功能
第 7 步:檢查狀態
安裝完成後,檢查Harbor容器:
sudo docker-compose ps您將看到正在運行的容器,例如:
- 港口核心
- 港口門戶
- 港口資料庫
- 港口Redis
- nginx
- 註冊表。註冊表
步驟8:存取Harbor Web UI
打開瀏覽器並造訪:
http://your-hostname-or-ip預設登入資訊:
- 使用者名稱:
管理員。管理員 - 密碼:您在其中設定的密碼
港口.yml(預設:港灣12345)
港口管理
停止港口
cd /opt/harbor
sudo docker-compose stop
發射港
cd /opt/harbor
sudo docker-compose start重啟港口
cd /opt/harbor
sudo docker-compose restart卸載Harbor
cd /opt/harbor
sudo docker-compose down -v配置 Docker 用戶端以使用 Harbor
使用 HTTP(無 SSL)
將 Harbor 新增至不安全登錄清單:
sudo nano /etc/docker/daemon.json添加內容:
json
{
"insecure-registries": ["your-harbor-ip:80"]
}重新啟動 Docker:
sudo systemctl restart docker從 Docker CLI 登入 Harbor
docker login your-harbor-ipNhập username: admin
Nhập password: your-password
將鏡像推送到Harbor
# Tag imagedocker tag nginx:latest your-harbor-ip/library/nginx:latest
Push image
docker push your-harbor-ip/library/nginx:latest
從 Harbor 拉取鏡像
docker pull your-harbor-ip/library/nginx:latest為 Harbor 配置 HTTPS(生產)
1.建立自簽名憑證(用於測試)
# Tạo thư mục chứa certificate sudo mkdir -p /opt/harbor/certs cd /opt/harbor/certsTạo private key
sudo openssl genrsa -out harbor.key 4096
Tạo certificate signing request
sudo openssl req -new -key harbor.key -out harbor.csr
Tạo self-signed certificate
sudo openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -out harbor.crt
2.更新Harbor配置
編輯 /opt/harbor/harbor.yml:
https:
port: 443
certificate: /opt/harbor/certs/harbor.crt
private_key: /opt/harbor/certs/harbor.key3.重新安裝Harbor
cd /opt/harbor
sudo ./prepare
sudo docker-compose down -v
sudo docker-compose up -d備份與復原
備份港
# Backup cơ sở dữ liệu và cấu hình cd /opt/harbor sudo docker-compose stopBackup data directory
sudo tar -czf harbor-backup-$(date +%Y%m%d).tar.gz /data /opt/harbor/harbor.yml
sudo docker-compose start
恢復港口
# Stop Harbor cd /opt/harbor sudo docker-compose downRestore data
sudo tar -xzf harbor-backup-YYYYMMDD.tar.gz -C /
Start Harbor
sudo docker-compose up -d
解決常見問題
1.Harbor無法啟動
檢查日誌:
cd /opt/harbor
sudo docker-compose logs2. 無法推播/拉取鏡像
- 檢查配置
不安全的註冊表在/etc/docker/daemon.json - 確保您已登入:
docker 登入 your-harbor-ip - 檢查防火牆:
須藤 ufw 狀態
3. 錯誤“x509:由未知頒發機構簽署的證書”
如果使用自簽名證書,則需要將證書新增至Docker:
sudo mkdir -p /etc/docker/certs.d/your-harbor-ip
sudo cp /opt/harbor/certs/harbor.crt /etc/docker/certs.d/your-harbor-ip/ca.crt
sudo systemctl restart docker4. 連接埠已被使用
檢查正在使用的連接埠:
sudo netstat -tulpn | grep :80更改內部連接埠 港口.yml 如果需要的話。
進階功能
1. 使用 Trivy 掃描安全漏洞
安裝後 --with-trivy,您可以:
- 按下時自動掃描影像
- 在 Web UI 中查看漏洞報告
- 阻止拉取存在嚴重漏洞的鏡像
2. 複製
Harbor支援在registry之間複製鏡像:
- 訪問 行政管理 → 複製
- 建立目標端點
- 建立複製規則
3.用戶管理與授權
- 為每個團隊創建單獨的項目
- 權限:專案管理員、開發人員、訪客
- 整合 LDAP/AD 進行身份驗證
4.網絡鉤子
配置 webhook 以在以下情況下接收通知:
- 圖片已推送
- 圖像已拉取
- 安全掃描已完成
港口保安
最佳實踐
- 更改預設管理員密碼 安裝後立即
- 使用 HTTPS 用於生產環境
- 啟用漏洞掃描 與特里維
- 訪問限制 透過防火牆
- 定期備份 數據和配置
- 港口更新 常
- 使用角色控制 管理存取權限
- 開啟審計日誌 追蹤活動
防火牆配置
# Cho phép HTTP (port 80) sudo ufw allow 80/tcpCho phép HTTPS (port 443)
sudo ufw allow 443/tcp
Cho phép SSH
sudo ufw allow 22/tcp
Kích hoạt firewall
sudo ufw enable
結論
您已完成在 Ubuntu 24.04 上安裝 Harbor。 Harbor 現在可以用作您組織的私人 Docker 註冊表,具有完整的管理、安全性和複製功能。
參考資源
- 港口官方文檔: https://goharbor.io/docs/
- GitHub 儲存庫: https://github.com/goharbor/harbor
- Community 論壇: https://github.com/goharbor/harbor/discussions
有用指令
# Kiểm tra phiên bản Harbor docker exec harbor-core harbor versionXem logs của tất cả services
docker-compose logs -f
Xem logs của một service cụ thể
docker-compose logs -f harbor-core
Kiểm tra disk usage
df -h /data
Clean up unused images (giải phóng dung lượng)
docker system prune -a
注意事項:本指南適用於 Ubuntu 24.04 上的 Harbor v2.11.2。一些細節可能會根據您使用的 Harbor 版本而有所不同。
