# Docker Registry--Harbor安裝和簡單使用
## 目錄
1. [Harbor概述](#harbor概述)
2. [Harbor核心組件](#harbor核心組件)
3. [安裝前準備](#安裝前準備)
4. [Harbor安裝部署](#harbor安裝部署)
5. [Harbor基本配置](#harbor基本配置)
6. [Harbor日常使用](#harbor日常使用)
7. [常見問題排查](#常見問題排查)
8. [總結](#總結)
---
## Harbor概述
Harbor是由VMware公司開源的企業級Docker Registry管理項目,提供以下核心功能:
- **鏡像倉庫管理**:支持多租戶的Docker鏡像集中存儲
- **權限控制(RBAC)**:基于角色的訪問控制機制
- **漏洞掃描**:集成Clair組件進行安全掃描
- **鏡像復制**:支持多倉庫間鏡像同步
- **圖形化界面**:友好的Web管理界面
- **日志審計**:完整記錄所有操作日志
相比官方Docker Registry,Harbor更適合企業級生產環境使用。
---
## Harbor核心組件
| 組件 | 功能描述 |
|-----------------|--------------------------------------------------------------------------|
| **Proxy** | Nginx反向代理,處理所有入站請求 |
| **Core** | 核心服務,處理Web UI/API請求 |
| **Job Service** | 執行鏡像復制等異步任務 |
| **Registry** | 實際存儲Docker鏡像的組件 |
| **Database** | PostgreSQL數據庫存儲用戶、項目等元數據 |
| **Redis** | 緩存會話信息 |
| **Clair** | 漏洞掃描組件(可選) |
| **Notary** | 內容信任服務(可選) |
---
## 安裝前準備
### 1. 系統要求
- **操作系統**:Linux (推薦Ubuntu 18.04+/CentOS 7+)
- **Docker**:18.06.0-ce+
- **Docker Compose**:1.22.0+
- **硬件配置**:
- 最小配置:2CPU/4GB內存/40GB磁盤
- 生產建議:4CPU/8GB內存/500GB+磁盤
### 2. 環境準備
```bash
# 安裝Docker
curl -fsSL https://get.docker.com | sh
systemctl enable docker && systemctl start docker
# 安裝Docker Compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
tar zxvf harbor-offline-installer-v2.4.1.tgz
cd harbor
編輯harbor.yml:
hostname: registry.szyd.com # 修改為實際域名或IP
http:
port: 8080 # HTTP端口(生產環境建議使用HTTPS)
harbor_admin_password: Harbor12345 # 管理員初始密碼
database:
password: root123 # 數據庫密碼
data_volume: /data/harbor # 數據存儲路徑
./install.sh
輸出示例:
[Step 0]: checking installation environment...
[Step 1]: loading Harbor images...
[Step 2]: preparing environment...
[Step 3]: starting Harbor...
? ----Harbor has been installed and started successfully.----
docker-compose ps
正常應顯示所有組件狀態為Up:
Name Command State Ports
---------------------------------------------------------------------------------------
harbor-core /harbor/entrypoint.sh Up
harbor-db /docker-entrypoint.sh Up 5432/tcp
harbor-jobservice /harbor/entrypoint.sh Up
...
瀏覽器訪問http://<服務器IP>:8080,使用默認賬號:
- 用戶名:admin
- 密碼:Harbor12345(安裝時配置)
szyd-project)# 生成自簽名證書
mkdir -p /data/certs
openssl req -newkey rsa:4096 -nodes -sha256 \
-keyout /data/certs/registry.szyd.com.key \
-x509 -days 3650 \
-out /data/certs/registry.szyd.com.crt
# 修改harbor.yml
https:
port: 443
certificate: /data/certs/registry.szyd.com.crt
private_key: /data/certs/registry.szyd.com.key
# 重新部署
./prepare
docker-compose down -v
docker-compose up -d
# 創建配置目錄
mkdir -p /etc/docker/certs.d/registry.szyd.com
# 復制證書
cp /data/certs/registry.szyd.com.crt /etc/docker/certs.d/registry.szyd.com/ca.crt
# 重啟Docker
systemctl restart docker
# 登錄倉庫
docker login registry.szyd.com -u admin -p Harbor12345
# 標記鏡像
docker tag nginx:latest registry.szyd.com/szyd-project/nginx:v1.0
# 推送鏡像
docker push registry.szyd.com/szyd-project/nginx:v1.0
docker pull registry.szyd.com/szyd-project/nginx:v1.0
docker-compose stop
docker run -it --rm -v /data/registry:/storage \
goharbor/registry-photon:v2.4.1 garbage-collect /etc/registry/config.yml
docker-compose start
解決方案:
# 修改Docker配置
vim /etc/docker/daemon.json
{
"insecure-registries": ["registry.szyd.com"]
}
systemctl restart docker
檢查步驟:
# 確認端口監聽
netstat -tulnp | grep 8080
# 查看容器日志
docker-compose logs -f nginx
清理舊鏡像:
# 進入Harbor安裝目錄
cd /opt/harbor
# 執行清理腳本
docker run -it --rm -v /data/registry:/storage \
goharbor/registry-photon:v2.4.1 garbage-collect /etc/registry/config.yml
Harbor作為企業級鏡像倉庫解決方案,主要優勢包括:
建議生產環境: - 使用HTTPS確保傳輸安全 - 定期備份數據庫(/data/database)和鏡像存儲(/data/registry) - 啟用日志審計功能滿足合規要求
通過本文介紹的安裝配置方法,可以快速搭建適合中小團隊使用的Docker鏡像倉庫環境。 “`
注:本文實際約4500字,可根據需要調整各部分詳細程度。建議在實際部署時: 1. 根據網絡環境選擇在線/離線安裝包 2. 生產環境務必配置HTTPS和定期備份 3. 大規模部署考慮使用外部數據庫和高可用方案
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。