Skip to content

Harbor

素の Docker Distribution バックエンドの前段に、プロジェクト単位の RBAC・脆弱性スキャン・レプリケーション・署名検証を足した OCI レジストリ。

  • カテゴリ: Supply Chain
  • CNCF 成熟度: Graduated
  • 言語: Go
  • ライセンス: Apache-2.0
  • リポジトリ: goharbor/harbor
  • ドキュメント化したコミット: 6872989 (main, 2026-06-22)

何をするものか

Harbor はコンテナイメージやその他の OCI 成果物のためのセルフホスト型レジストリです。blob や manifest を自分では保存しません。distribution/distribution (Docker Registry) の前段に reverse proxy を立て、そのバックエンドの手前で独自のゲートを差し込みます。認可、クォータ、immutable、署名チェック、脆弱性ポリシーです。

付加価値は、素のレジストリの周りに企業が必要とするものすべてです。RBAC 付きのマルチテナント project、LDAP/AD と OIDC ログイン、ポリシー駆動のレジストリ間レプリケーション、定期的な脆弱性スキャン、イメージの retention と GC、そして Web ポータル。コードは 3 つの Go バイナリ (API core、非同期ジョブワーカ、レジストリコントローラ) と Angular の UI です。

Harbor は CI/CD システムとコンテナランタイムの間に位置します。CI が Harbor の project にイメージを push し、デプロイ先がそこから pull し、Harbor が誰に何ができるか、どのイメージを出荷してよいかを強制します。

いつ使うか

  • マネージドなクラウドレジストリではなく、オンプレや private cloud で自分で運用するレジストリが必要なとき。
  • マルチテナント分離が必要なとき。多数のチームが 1 つのレジストリを project 単位の RBAC とクォータで共有する。
  • スキャン・署名・レプリケーションをレジストリの周りに後付けするのではなく、レジストリ内蔵で持ちたいとき。
  • データセンタ間やエアギャップ環境で成果物をレプリケーションするとき。

マネージドなクラウドレジストリ (ECR、ACR、Artifact Registry) で要件が満たせる場合や、アクセス制御の要らない単一の private レジストリだけで十分 (素の Distribution で足りる) な場合は、魅力は薄れます。

この deep-dive の構成

  • History: VMware 発祥から CNCF Graduated までの経緯。
  • Architecture: 3 つのバイナリと proxy + middleware 設計。
  • Adoption & Ecosystem: 出典のある production 採用事例と代替。
  • Internals: ソースから読んだイメージ pull のパス。
  • Getting Started: offline installer でのインストール。

出典

  1. goharbor/harbor (README, ADOPTERS, LICENSE, VERSION)、参照日 2026-06-22。
  2. goharbor/harbor at commit 687298935、参照日 2026-06-22。
  3. Harbor on CNCF (成熟度の日付とメトリクス)、参照日 2026-06-22。
  4. CNCF announces Harbor Graduation、参照日 2026-06-22。
  5. Harbor: Enterprise-grade container registry for modern private cloud、参照日 2026-06-22。
  6. InfoQ: Open Source Registry Harbor's Graduation、参照日 2026-06-22。
  7. Harbor install & configuration guide、参照日 2026-06-22。
  8. gh api repos/goharbor/harbor、参照日 2026-06-22。