Dockerレジストリは、Dockerイメージを管理するためのリポジトリです。レジストリは独自のサービスであり、Dockerエンジンの一部ではありません。
レジストリの使用法はArtifactoryやNexusなどのリポジトリマネージャと似ていますが、大きな違いが1つあります。リポジトリマネージャは通常、さまざまなタイプのテクノロジーのリポジトリを管理できます。たとえば、Maven、NPM、Ruby Gems、CocoaPods、Git LFS、Python Eggsなど。純粋なDockerレジストリはDockerイメージのみを管理します。
Dockerレジストリを管理するためのツールを選択する際に考慮すべきことがいくつかあります。
- パフォーマンス-Dockerイメージは大きくなる可能性があります。 1日に大量のDockerイメージを生成するCI/CD環境では、成長に応じて負荷とスケーリングに対処できるツールが必要です。一部のツールは、複数のノード間で負荷を分散できるクラスター(HA)バージョンを提供します。
- ストレージ管理-Dockerイメージは多くのストレージスペースを消費します。必要なストレージを効率的に管理するツールを選択することをお勧めします:
- 画像とリポジトリ間の画像レイヤーの重複排除をサポートします
- 未使用の画像レイヤーを効率的にクリーンアップします(ガベージコレクション)。一部のツールは、パフォーマンスを低下させるストップワールドGCメカニズムを提供していることに注意してください。
- 年齢、使用法などに基づいて画像を削除できる画像のクリーンアップ手順/メカニズムを提供します。
- 複数のストレージバックエンドをサポート-ファイルシステム、オブジェクトストレージ
- 複数のレジストリのサポート-一部のツールでは単一のレジストリの管理に制限されていますが、他のツールでは複数のレジストリを並行して管理できます。これは、スナップショットと本番用のイメージを分離する必要がある場合に役立ちます。
- 最新のDockerバージョンのサポート-DockerレジストリAPIとマニフェストの形式は頻繁に変更されています。最新の変更をすべてサポートするツールを選択してください。
- niversal-Dockerイメージ以外を管理する必要がある場合、これは通常、NPM、Bower、Yumなど、レジストリで、そのようなテクノロジーをサポートするユニバーサルリポジトリマネージャーを選択します。
- エンタープライズ対応-LDAP接続、ロールベースのアクセス制御、高可用性、マルチサイト開発などの機能をサポートするエンタープライズ対応のツールを探します。
免責事項:私はArtifactoryの背後にある会社であるJFrogで働いています