【harbor】--介绍
Harbor 是一个 企业级的 Docker 镜像仓库管理系统,由 VMware 开源,用于存储、签名和扫描容器镜像,并提供角色访问控制、镜像复制策略、审计日志等功能。它基于 Docker Registry 进行了扩展,适合企业在私有云或混合云中部署和管理容器镜像。
一、Harbor 的核心功能
功能 | 说明 |
---|---|
图形界面(UI) | 用户可以通过 Web 界面查看、管理项目、镜像、用户、策略等。 |
角色访问控制(RBAC) | 对项目和镜像的访问进行基于角色的权限控制。 |
镜像复制(Replication) | 支持与多个 Harbor 或云端仓库之间进行镜像复制(双向/定时)。 |
镜像扫描(Image Scanning) | 集成 Trivy 或 Clair 等扫描工具,检查镜像中的安全漏洞。 |
内容信任(签名) | 支持 Notary(Docker Content Trust),对镜像进行签名和验证。 |
审计日志 | 记录用户操作、系统活动,便于安全审计和追踪问题。 |
多租户支持 | 每个项目相当于一个 namespace,不同项目之间隔离。 |
LDAP/AD 集成 | 支持与企业内部 LDAP、Active Directory 系统集成。 |
Helm Chart 仓库 | 支持存储和管理 Helm Charts(从 v1.6 开始)。 |
二、Harbor 架构图
Harbor 的架构模块包括:
- Core Service:处理用户请求、权限验证、API 路由等。
- Registry:核心的 Docker Registry 服务,存储镜像。
- Job Service:负责后台任务,如同步、扫描。
- Notary Server:用于镜像签名与验证(可选)。
- ChartMuseum:Helm chart 的仓库服务(可选)。
- Trivy:镜像漏洞扫描服务。
- 数据库(PostgreSQL):存储元数据。
- Redis:缓存和异步任务调度。
- nginx:统一入口,提供 HTTP/HTTPS 代理服务。
三、Harbor 部署方式
常见部署方式有:
- Docker Compose 部署(离线/在线安装)
- Helm Chart 部署在 Kubernetes 集群中
- 直接使用 OVA/虚拟机模板(适用于某些云平台)
四、Harbor 使用场景
- 企业构建私有镜像仓库。
- 管理多环境(开发、测试、生产)镜像隔离与控制。
- 镜像审计、漏洞扫描、安全合规。
- 边缘/跨地域数据中心之间同步镜像。
- 集成 CI/CD 流程:Harbor 可以作为 CI/CD 的中间镜像缓存。
五、与 Docker Registry 的对比
特性 | Docker Registry | Harbor |
---|---|---|
图形界面 | ❌ | ✅ |
访问控制 | ❌ | ✅ |
镜像复制 | ❌ | ✅ |
镜像签名 | ❌ | ✅ |
漏洞扫描 | ❌ | ✅ |
日志审计 | ❌ | ✅ |
六、常用操作命令
# 登录 Harbor
docker login harbor.mycompany.com# 推送镜像
docker tag nginx:latest harbor.mycompany.com/project/nginx:latest
docker push harbor.mycompany.com/project/nginx:latest# 拉取镜像
docker pull harbor.mycompany.com/project/nginx:latest