Harbor企业级容器镜像仓库实践
作者: ryan 发布于: 11/3/2025 更新于: 11/3/2025 字数: 0 字 阅读: 0 分钟
Harbor 简介与基础概念
简介
Harbor 是一个开源的云原生容器镜像仓库(Container Registry),由 VMware 中国团队开发并贡献给 CNCF(Cloud Native Computing Foundation),现已成为 CNCF Graduated(毕业)级 项目。它专为企业级场景设计,由 Go 语言开发,扩展 Docker Registry V2,提供 Web UI、多租户、权限控制等企业特性。在 DevOps 流程中充当镜像中心化存储与分发平台,解决原生 Registry 缺乏管理、安全、审计等问题。
核心概念
| 功能 | 说明 |
|---|---|
| Registry | 核心镜像存储服务,基于 Docker Distribution 实现,支持推送(push)和拉取(pull)镜像。 |
| Project(项目) | 逻辑隔离单元,一个 Project 包含多个镜像仓库(Repository),支持公有/私有设置。 |
| Repository(仓库) | 存储具体镜像的地方,例如 library/nginx。每个镜像有多个 Tag(如 latest、1.25)。 |
| Artifact(工件) | 泛指存储在 Harbor 中的内容,包括: Docker 镜像 、Helm Chart •、OCI 标准工件(CNAB、WASM 等) |
| Replication(复制) | 支持将镜像在多个 Harbor 实例间同步,实现灾备、高可用、边缘分发。 |
| Scanner(漏洞扫描) | 集成 Trivy、Clair 等扫描器,自动扫描镜像漏洞并生成报告。 |
| Webhook | 镜像推送、删除等事件触发 HTTP 回调,可对接 CI/CD 流水线。 |
| Proxy Cache | 支持缓存公共仓库(如 Docker Hub)的镜像,加速拉取并减少外部依赖。 |
Harbor 的架构组件
Harbor 采用微服务架构,主要组件包括:
| 组件 | 功能 |
|---|---|
| Core | API 服务、认证授权、项目管理 |
| Database | 存储元数据(PostgreSQL) |
| Registry | 实际镜像存储(可接 S3、Swift、OSS 等对象存储) |
| Job Service | 异步任务(如复制、垃圾回收、扫描) |
| Portal | Web 管理界面 |
| Admin Server | 配置管理 |
| Webhook Service | 事件通知 |
| Scanner Adapter | 对接漏洞扫描器(如 Trivy) |
所有组件支持容器化部署(Docker Compose / Kubernetes Helm Chart)。
核心功能亮点
| 功能 | 说明 |
|---|---|
| ✅ 企业级安全 | 支持 RBAC 权限控制、LDAP/AD、OIDC 认证、镜像签名(Notary/Content Trust) |
| ✅ 漏洞扫描 | 内置 Trivy 扫描,CVE 报告,支持策略阻止高危镜像部署 |
| ✅ 镜像复制 | Push/Pull 模式,支持跨地域、跨集群同步 |
| ✅ 访问控制 | 项目级公有/私有,细粒度用户权限 |
| ✅ 审计日志 | 记录所有操作,便于合规审计 |
| ⭐ Helm Chart 管理 | 完整支持 Helm v3 Chart 仓库 |
| ⭐ Proxy Cache | 缓存 docker.io、gcr.io 等,适合内网环境 |
| ⭐ 多租户支持 | 通过 Project 实现团队隔离 |
与 Docker Registry 的对比
| 特性 | Docker Registry | Harbor |
|---|---|---|
| 界面管理 | 无 | ✅ Web UI |
| 权限控制 | 简单 | ✅ RBAC + LDAP |
| 漏洞扫描 | 无 | ✅ 内置 Trivy |
| 镜像复制 | 无 | ✅ 多实例同步 |
| Helm 支持 | 无 | ✅ 完整支持 |
| 企业就绪 | 基础 | ✅ 高可用、安全合规 |
官方资源
GitHub:https://github.com/goharbor/harbor
Helm Chart:helm repo add harbor https://helm.goharbor.io
