Harbor 是一款企业级云原生容器镜像仓库,由 VMware 开发并于 2018 年捐赠给 CNCF,2020 年成为 CNCF 毕业项目。它不仅是 Docker 镜像的存储中心,还提供安全扫描、权限管理、镜像复制等企业级功能,广泛应用于 Kubernetes 和 Docker 生态中。

一、Harbor 的核心特性
安全与合规性
漏洞扫描:集成 Clair 或 Trivy,自动检测镜像中的安全漏洞,并生成报告供合规审计参考。
镜像签名与验证:通过 Notary 组件实现镜像签名,确保镜像来源可信和完整性。
访问控制:支持基于角色的权限管理(RBAC),可细粒度控制用户对项目和镜像的操作权限。
企业级管理能力
多租户隔离:通过项目逻辑隔离资源,支持 LDAP/AD 集成,实现企业级用户体系管理。
镜像复制:跨 Harbor 实例或数据中心的镜像同步,支持混合云和多集群场景。
存储优化:支持本地存储、对象存储(如 S3、Ceph)和垃圾回收机制,避免存储冗余。
云原生兼容性
符合 OCI 标准,支持 Docker、Helm Chart 和 OCI 格式的镜像。
提供 RESTful API 和 Webhook,便于与 CI/CD 工具(如 Jenkins、GitLab)集成。
二、Harbor 的架构与组件
Harbor 采用微服务架构,主要组件包括:

Core:核心服务,处理 API 请求和业务逻辑,如用户认证、项目管理。
Registry:底层 Docker Registry,负责镜像的实际存储。
Database:使用 PostgreSQL 存储元数据(用户、权限、项目信息)。
Job Service:处理异步任务(如镜像复制、清理)。
Web UI:提供图形化管理界面,支持镜像上传、下载和策略配置。
Notary 和 Chartmuseum:分别负责镜像签名验证和 Helm Chart 存储。
三、部署与实践指南
1. 安装与配置
环境要求:
操作系统:Linux(Ubuntu/CentOS 等)
依赖:Docker、Docker Compose。
步骤:
下载离线包并解压:
wget https://github.com/goharbor/harbor/releases/download/v2.9.5/harbor-offline-installer-v2.9.5.tgztar -zxvf harbor-offline-installer-v2.9.5.tgz
修改 harbor.yml 配置文件,设置 hostname(访问域名/IP)、http.port(HTTP 端口)、data_volume(存储路径)等。
运行安装脚本:
./install.sh
访问 http://<hostname>:80,使用默认账号 admin/Harbor12345 登录。
2. HTTPS 配置(推荐)
生成自签名证书或使用已有 CA 证书,配置 harbor.yml 中的 https.certificate 和 https.private_key 路径。
更新 Docker 客户端配置,添加 insecure-registries 或信任 Harbor 的 CA。
3. 镜像管理示例
推送镜像:
docker tag myimage:latest harbor.example.com/myproject/myimage:latestdocker push harbor.example.com/myproject/myimage:latest
docker pull harbor.example.com/myproject/myimage:latest
| 场景 | 推荐配置 | 存储方案 |
|---|---|---|
| 学习/测试环境 | ||
| 中小型生产环境 | ||
| 大型生产环境 |
五、常见问题与优化
镜像推送失败:检查证书配置和 Docker 客户端的 insecure-registries 设置。
存储空间不足:启用垃圾回收策略或切换至对象存储。
性能瓶颈:中大型环境建议分离数据库和 Redis 服务,避免单点故障。
参考资料
官方文档:Harbor 安装与配置:https://goharbor.io/docs/2.12.0/
GitHub 仓库:goharbor/harbor
社区支持:Harbor 中文论坛:https://ask.kubesphere.com.cn/forum/
Harbor 通过其安全性和企业级特性,成为容器化应用管理的核心工具,适合从开发测试到大规模生产的全场景需求。




