Chuyển đến nội dung chính

在 Ubuntu 24.04 上安裝 Harbor

Duy Tran10 分鐘
在 Ubuntu 24.04 上安裝 Harbor

簡介

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.io

Khở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-compose

Cấ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 /opt

Tả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.100

Giao 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

重要提示:

  1. 主機名稱:必須是您造訪Harbor的網域或IP
  2. 港口管理員密碼:更改預設密碼以確保安全
  3. 如果您只在本機電腦上進行測試,則可以將其保留在 HTTP 上。對於生產,您應該使用 HTTPS

第6步:安裝Harbor

運行安裝腳本:

# Cài đặt Harbor cơ bản
sudo ./install.sh

Hoặ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-ip

Nhập username: admin

Nhập password: your-password

將鏡像推送到Harbor

# Tag image

docker 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/certs

Tạ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.key

3.重新安裝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 stop

Backup 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 down

Restore 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 logs

2. 無法推播/拉取鏡像

  • 檢查配置 不安全的註冊表 在 /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 docker

4. 連接埠已被使用

檢查正在使用的連接埠:

sudo netstat -tulpn | grep :80

更改內部連接埠 港口.yml 如果需要的話。

進階功能

1. 使用 Trivy 掃描安全漏洞

安裝後 --with-trivy,您可以:

  • 按下時自動掃描影像
  • 在 Web UI 中查看漏洞報告
  • 阻止拉取存在嚴重漏洞的鏡像

2. 複製

Harbor支援在registry之間複製鏡像:

  • 訪問 行政管理 → 複製
  • 建立目標端點
  • 建立複製規則

3.用戶管理與授權

  • 為每個團隊創建單獨的項目
  • 權限:專案管理員、開發人員、訪客
  • 整合 LDAP/AD 進行身份驗證

4.網絡鉤子

配置 webhook 以在以下情況下接收通知:

  • 圖片已推送
  • 圖像已拉取
  • 安全掃描已完成

港口保安

最佳實踐

  1. 更改預設管理員密碼 安裝後立即
  2. 使用 HTTPS 用於生產環境
  3. 啟用漏洞掃描 與特里維
  4. 訪問限制 透過防火牆
  5. 定期備份 數據和配置
  6. 港口更新 常
  7. 使用角色控制 管理存取權限
  8. 開啟審計日誌 追蹤活動

防火牆配置

# Cho phép HTTP (port 80)
sudo ufw allow 80/tcp

Cho 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 註冊表,具有完整的管理、安全性和複製功能。

參考資源

有用指令

# Kiểm tra phiên bản Harbor
docker exec harbor-core harbor version

Xem 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 版本而有所不同。