一、Harbor鏡像倉庫搭建與使用
1. Harbor概述
- 定義: 由VMWare公司開源的容器鏡像倉庫系統
- 技術基礎: 在Docker Registry基礎上進行企業級擴展
- 核心特性:
- 提供管理用戶界面(GUI)
- 基于角色的訪問控制(RBAC)
- 支持
AD/LDAP\mathrm{AD}/\mathrm{LDAP}AD/LDAP
集成 - 完善的審計日志功能
- 應用場景: 解決生產環境中多節點鏡像分發管理問題,替代低效的導出導入方式
- 官方資源:
- 官網: https://goharbor.io/
- GitHub: https://github.com/goharbor/harbor
2. Harbor部署先決條件與部署
1)先決條件
- 硬件要求:
- 最低配置: 2核CPU/4GB內存/40GB硬盤
- 推薦配置: 4核CPU/8GB內存/160GB硬盤
- 軟件要求: (以官網最新版本為準)
- Docker CE 17.06+版本
- Docker Compose 1.18+版本
- 資源消耗說明: 因包含7-8個服務組件,資源占用較高
2)部署Harbor
- 安裝方式選擇:
- 在線安裝: 包體積小(約9KB),依賴網絡下載鏡像
- 離線安裝: 包體積大(約530MB),包含所有依賴鏡像
- 推薦方案: 采用離線安裝包(harbor-offline-installer-v2.1.0.tgz)
- 部署步驟:
- 解壓安裝包: tar zxvf harbor-offline-installer-v2.0.0.tgz
- 進入目錄: cd harbor
- 配置準備:
- 復制模板文件: cp harbor.yml.tmpl harbor.yml
- 修改配置:
- 設置hostname: reg.ctnrs.com
- 注釋https相關配置
- 設置管理員密碼: Harbor12345
- 執行安裝:
- 準備環境: ./prepare
- 正式安裝: ./install.sh
- 安裝過程說明: 自動導入7-8個服務鏡像并啟動對應容器
3. Harbor基本使用
- 核心功能:實現鏡像的集中管理和分發,主要包含推送(push)和拉取(pull)兩個基本操作
- 典型場景:將本地構建的鏡像推送到遠程倉庫,其他主機從倉庫拉取使用
1)配置http鏡像倉庫可信任
- 配置文件:修改/etc/docker/daemon.json,添加insecure-registries字段
- 配置示例:
- 生效方式:配置后需執行systemctl restart docker重啟服務
- 注意事項:
- 僅HTTP協議需要此配置,HTTPS需配置證書
- 可配置多個倉庫地址,用逗號分隔
- 所有客戶端都需要配置
2)打標簽
- 命令格式:docker tag SOURCE_IMAGE[:TAG] 倉庫地址/項目名/REPOSITORY[:TAG]
- 操作要點:
- 必須包含完整的倉庫地址(如192.168.31.61/library/tomcat)
- 可通過Harbor界面獲取推送命令模板
- 本質是為鏡像創建包含倉庫路徑的別名
- 示例:
3)上傳
- 前置條件:
- 完成鏡像打標簽
- 配置倉庫可信任
- 登錄倉庫docker login 倉庫地址
- 推送命令:docker push 完整鏡像路徑
- 常見問題:
- 未登錄時報錯unauthorized
- HTTP未配置時報connection refused
- 權限不足需檢查項目成員角色
- 完整流程示例:
4)下載
- 拉取方式:
- 直接使用推送地址:docker pull 192.168.31.61/library/tomcat:v1
- 使用SHA256校驗值(可選)
- 客戶端要求:
- 同樣需要配置insecure-registries
- 無需登錄即可拉取公開項目
- 效果驗證:
- Harbor界面會顯示下載次數統計
- 本地通過docker image ls查看
5)配置可信任總結
- 驗證方式:通過docker info查看Insecure Registries字段
- HTTPS區別:
- 需要配置證書路徑
- 無需insecure-registries配置
- 更安全但配置復雜
- 多倉庫配置:JSON數組中可配置多個地址
4. Harbor部署與管理
1)離線安裝
- 安裝步驟:
- 解壓離線包:tar zxvf harbor-offline-installer-v2.0.0.tgz
- 復制配置文件:cp harbor.yml.tmpl harbor.yml
- 修改配置:vi harbor.yml
- 執行安裝:./install.sh
2)服務管理
- 關鍵命令:
- 啟動所有服務:docker-compose up -d
- 查看狀態:docker-compose ps
- 停止服務:docker-compose stop
- 服務組成:包含9個核心服務(nginx、registry、portal等)
- 訪問方式:默認通過80端口訪問Web界面
3)配置文件
- 關鍵配置項:
- hostname: 訪問地址(IP或域名)
- http.port: HTTP服務端口(默認80)
- https: HTTPS相關配置(端口、證書路徑)
- harbor_admin_password: 管理員密碼(默認Harbor12345)
- 修改建議:
- 生產環境建議啟用HTTPS
- 首次安裝可先注釋HTTPS配置
二、知識小結
知識點 | 核心內容 | 考試重點/易混淆點 | 難度系數 |
Harbor鏡像倉庫搭建 | 集中管理Docker鏡像的專業系統,支持多機集群部署 | 最低配置要求:2核CPU/4GB內存/40GB硬盤 推薦配置:4核CPU/8GB內存 | ??? |
Docker Compose工具 | 批量管理容器工具,通過YAML文件定義多容器關系 | 與原生Docker命令的區別: - 一鍵式部署/卸載 - 服務依賴管理 | ?? |
鏡像推送流程 | 1. 打標簽(docker tag) 2. 登錄倉庫(docker login) 3. 推送鏡像(docker push) | HTTP協議需配置: /etc/docker/daemon.json添加insecure-registries | ???? |
鏡像拉取驗證 | 1. 配置倉庫信任 2. 直接執行docker pull | 匿名拉取與認證推送的區別 下載計數功能 | ?? |
Harbor管理界面 | Web UI提供: - 鏡像瀏覽 - 用戶權限管理 - 項目隔離 | 默認憑證: admin/Harbor12345 主題切換支持 | ? |
離線安裝優勢 | 包含所有依賴鏡像(530MB) 避免網絡拉取超時 | 與在線安裝包(9.24KB)對比 prepare鏡像需單獨下載 | ??? |
生產環境建議 | 1. 啟用HTTPS+證書 2. 定期備份存儲目錄 | 單點故障風險: 需配合持久化存儲方案 | ???? |