
Harbor · 云原生开源可信容器镜像仓库|部署与运维全指南
项目仓库: https://github.com/goharbor/harbor
开源协议:Apache 2.0 · 托管方:CNCF · 部署:Docker Compose / Helm Chart / Operator · 要求:docker 20.10.10-ce+、docker-compose 1.18.0+ · 官方文档:goharbor.io/docs
1 项目简介
Harbor 是开源的可信云原生镜像仓库,负责存储、签名与扫描内容。它在开源 Docker Distribution 之上扩展了安全、身份与管理等生产级能力,支持容器镜像与 Helm Chart,提供镜像复制、漏洞扫描、用户管理、访问控制与操作审计。Harbor 由 CNCF 托管。
1.1 核心信息一览
| 项目项 | 内容 |
|---|---|
| 项目名称 | Harbor |
| 仓库地址 | github.com/goharbor/harbor |
| 项目定位 | 云原生可信容器镜像仓库 |
| 开源协议 | Apache 2.0 |
| 托管 | CNCF |
| 部署方式 | Docker Compose / Helm / Operator |
| 系统要求 | docker 20.10.10-ce+、docker-compose 1.18.0+ |
| 官方文档 | goharbor.io/docs |
1.2 适用场景
- 企业私有容器镜像仓库。
- 需要镜像漏洞扫描、签名与策略校验。
- 多数据中心/混合云之间镜像复制。
1.3 能力边界(官方口径)
- main 分支可能不稳定,生产请使用 release 版本。
- v2.15.0 起发布物用 Cosign 签名。
2 功能特性
- 云原生仓库:支持容器镜像与 Helm Chart。
- 基于角色访问控制(RBAC):以 project 为单位授权。
- 策略复制:按仓库/标签/标签过滤同步镜像与 Chart。
- 漏洞扫描:定期扫描并阻止脆弱镜像部署。
- LDAP/AD、OIDC:企业身份集成与 SSO。
- 镜像删除与垃圾回收:清理悬空清单与未引用 blob。
- 图形门户 + RESTful API:内置 Swagger UI。
3 官方跳转链接汇总
| 类别 | 链接 | 说明 |
|---|---|---|
| 仓库主页 | https://github.com/goharbor/harbor | 源码 |
| 发布下载 | releases | 安装包 |
| 安装配置指南 | install-config | 官方文档 |
| Helm Chart | harbor-helm | K8s 部署 |
| 在线 Demo | demo.goharbor.io | 演示环境 |
4 前置要求与服务器配置
4.1 软件前提(Linux 主机)
- Docker 20.10.10-ce+。
- Docker Compose 1.18.0+。
5 方式一:离线安装包(Docker Compose)
# 1. 从 releases 下载 Harbor 离线安装包(harbor-offline-installer-*.tgz)
# 2. 解压
tar xzf harbor-offline-installer-<版本>.tgz
cd harbor
# 3. 复制并编辑 harbor.yml(配置 hostname、证书、密码)
cp harbor.yml.tmpl harbor.yml
# 编辑 harbor.yml 后执行
./install.sh详细步骤见 安装配置指南。
6 方式二:Kubernetes(Helm Chart)
# 使用官方 Helm Chart
# 仓库:github.com/goharbor/harbor-helm见 harbor-helm 仓库。
7 发布物校验(v2.15.0+)
# 安装 Cosign v2.0+
brew install sigstore/tap/cosign
# 校验安装包签名
cosign verify-blob \
--bundle harbor-offline-installer-v2.15.0.tgz.sigstore.json \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$' \
harbor-offline-installer-v2.15.0.tgz
# 期望输出:Verified OK8 配置项说明
| 配置 | 位置 | 说明 |
|---|---|---|
| hostname | harbor.yml | 仓库访问域名/IP |
| 证书 | harbor.yml | HTTPS 证书 |
| 管理员密码 | harbor.yml | 默认 admin 密码 |
| 数据存储 | harbor.yml | 本地/对象存储 |
9 常见故障排查
- 镜像拉取失败:检查 insecure-registries 配置与证书。
- 磁盘占用高:运行垃圾回收清理悬空镜像。
- 版本选择:生产用 release,不用 main 分支。
10 风险与合规说明
- 许可证:Apache 2.0。
- 安全上报:不要公开提 issue,走 GitHub private vulnerability reporting。
- 非官方声明:本文基于官方仓库 README 整理,命令以最新 release 为准。