Harbor

注意:开发期间 main 分支可能处于不稳定甚至损坏状态

为了获得稳定的二进制文件,请使用发行版而不是 main 分支。

Harbor 是一个开源的可信云原生仓库项目,用于存储、签名和扫描内容。

Harbor 扩展了开源 Docker Distribution,增加了用户通常所需的安全、身份和管理功能。

将仓库置于更靠近构建和运行环境的位置可以提高镜像传输效率。Harbor 支持仓库间的镜像复制,并提供高级安全特性,如用户管理、访问控制和活动审计。

Harbor 由云原生计算基金会(CNCF)托管。

如果您是一个希望帮助塑造云原生技术演进的组织,请考虑加入 CNCF。有关谁参与以及 Harbor 如何发挥作用的详细信息,请阅读 CNCF 公告

特性

  • 云原生仓库:同时支持容器镜像和 Helm chart,Harbor 可作为容器运行时和编排平台等云原生环境的仓库。
  • 基于角色的访问控制:用户通过“项目”访问不同的仓库,用户对项目下的镜像或 Helm chart 可拥有不同的权限。
  • 基于策略的复制:基于策略(使用过滤器:仓库、标签和标签)可以在多个仓库实例之间复制(同步)镜像和 chart。如果遇到任何错误,Harbor 会自动重试复制。这可用于辅助负载均衡、实现高可用,并促进混合云和多云场景中的多数据中心部署。
  • 漏洞扫描:Harbor 定期扫描镜像中的漏洞,并通过策略检查阻止有漏洞的镜像被部署。
  • LDAP/AD 支持:Harbor 与现有企业 LDAP/AD 集成,用于用户认证和管理,并支持将 LDAP 组导入 Harbor,然后赋予其特定项目的权限。
  • OIDC 支持:Harbor 利用 OpenID Connect (OIDC) 验证由外部授权服务器或身份提供者认证的用户身份。可以启用单点登录登录 Harbor 门户。
  • 镜像删除与垃圾回收:系统管理员可以运行垃圾回收作业,以便删除镜像(悬空的 manifest 和未引用的 blob)并定期释放其空间。
  • Notary:支持使用 Docker Content Trust(基于 Notary)对容器镜像进行签名,以保证真实性和来源。此外,还可以激活阻止未签名镜像被部署的策略。
  • 图形化用户门户:用户可以轻松浏览、搜索仓库和管理项目。
  • 审计:对仓库的所有操作都会通过日志进行跟踪。
  • RESTful API:提供 RESTful API 以方便管理操作,并易于与外部系统集成。内置 Swagger UI 可用于探索和测试 API。
  • 轻松部署:Harbor 可以通过 Docker Compose 以及 Helm Chart 进行部署,最近还添加了 Harbor Operator。

架构

了解 Harbor 的架构设计,请查阅文档 Harbor 架构概览

API

  • Harbor RESTful API:提供 Harbor 大部分管理操作的 API,可用于以编程方式与 Harbor 集成。

安装与运行

系统要求:

在 Linux 主机上: docker 20.10.10-ce+ 和 docker-compose 1.18.0+。

下载 Harbor 发行版 的二进制文件,并按照 安装与配置指南 安装 Harbor。

如果要在 Kubernetes 上部署 Harbor,请使用 Harbor chart

有关如何使用 Harbor 的更多详细信息,请参阅 文档

验证发布签名

从 v2.15.0 开始,Harbor 发布构件使用 Cosign 进行加密签名,以确保真实性和完整性。

从 Harbor 发布页面下载安装程序和签名包。

快速验证

# 安装 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

OCI Distribution 一致性测试

查看 Harbor 的 OCI Distribution 一致性测试报告

兼容性

兼容性列表文档提供了 Harbor 组件的兼容性信息。

社区

演示

合作伙伴与用户

用户列表请参阅 ADOPTERS.md

安全

安全审计

2019 年 10 月,第三方安全审计由 Cure53 完成。您可以在此查看完整报告。

报告安全漏洞

如果您在 Harbor 中发现了安全相关问题、漏洞或潜在漏洞,请将漏洞详细信息告知 Harbor 安全团队。我们会发送确认邮件以确认收到您的报告,并在我们肯定或否定地确认问题后发送另一封邮件。

更多详细信息请参阅完整的安全发布流程

许可证

Harbor 在 Apache 2 许可证 下可用。

本项目使用的开源组件可能有额外的许可条款。这些开源组件的官方 Docker 镜像和许可条款可在以下位置找到:

Fossa 状态

FOSSA Status

参考资料