Docker リポジトリ管理の実際: パブリック リポジトリとプライベート リポジトリ

Docker リポジトリ管理の実際: パブリック リポジトリとプライベート リポジトリ

コアコンテンツ

  • Docker パブリック リポジトリとプライベート リポジトリの概要。
  • パブリック リポジトリ (Docker ハブ) にログインおよびログアウトするための詳細な手順。
  • シンプルなプライベート倉庫の構築方法。
  • プライベート リポジトリ内のプライベート イメージをクエリ、アップロード、ダウンロードする方法。

公営倉庫と民間倉庫

Docker レジストリは、Docker イメージを保存および管理する場所です。パブリックまたはプライベートにすることができ、Docker イメージを共有、保存、管理するための集中的な場所を提供します。これは GitHub と GitLab に少し似ていますが、GitHub と GitLab はコード ホスティング プラットフォームであるという点が異なります。プラットフォーム上でホストされているのはコードであり、ここではさまざまな画像がホストされています。

以下は、パブリック イメージ ウェアハウスとプライベート イメージ ウェアハウスという 2 種類のウェアハウスの代表的な例です。

  • Docker Hub: Docker Hub は Docker が提供する公式イメージ リポジトリであり、多数の公開イメージが含まれています。ユーザーは Docker Hub を通じてクラウドに独自のイメージを保存し、共有できます。 Docker Hub では、さまざまなオープンソース ソフトウェアの公式イメージやコミュニティが管理するイメージを見つけたり、アカウントを作成して独自のイメージをアップロードしたりできます。
  • Harbor: Harbor は、安全で信頼性の高いイメージの保存と管理機能を提供する、オープンソースのエンタープライズ レベルの Docker イメージ リポジトリ サービスです。複数のストレージ バックエンドをサポートし、柔軟なアクセス制御と権限管理機能を提供するため、企業内での使用に適しています。

これらのイメージ リポジトリは、さまざまなシナリオのニーズを満たす豊富な機能とサービスを提供します。ユーザーがニーズに応じて Docker イメージを保存および管理するための適切なイメージ リポジトリ サービスを選択する場合は、パブリック イメージ リポジトリとプライベート イメージ リポジトリの違いを事前に明確に理解する必要があります。

アクセス権

  • パブリック イメージ リポジトリ: パブリック イメージ リポジトリはオープンであり、認証や支払いなしで誰でもその中のイメージにアクセスできます。ユーザーは検索機能を使用して、パブリック リポジトリ内の画像を検索してダウンロードできます。
  • プライベート イメージ リポジトリ: プライベート イメージ リポジトリは制限されており、承認されたユーザーのみがその中のイメージにアクセスできます。通常、認証が必要であり、アクセスするには有料サブスクリプションが必要になる場合があります。プライベート リポジトリは、組織内で使用される機密イメージや独自のイメージを保存および共有するのに適しています。

安全

  • パブリック イメージ リポジトリ: パブリック イメージ リポジトリ内のイメージは、コミュニティの貢献者や公式のメンテナーなど、さまざまなソースから提供される場合があります。ほとんどの画像は安全ですが、ユーザーはセキュリティ上の脆弱性や悪意のあるコードの可能性に注意する必要があります。
  • プライベート イメージ リポジトリ: プライベート イメージ リポジトリは組織によって管理および監視されるため、イメージのソースとコンテンツをより適切に制御し、セキュリティを強化できます。

カスタマイズと拡張性

  • パブリック イメージ リポジトリ: パブリック イメージ リポジトリには通常、よく使用されるイメージが多数含まれており、ユーザーはすぐに取得して使用できます。ただし、公開されているため、ユーザーが画像をカスタマイズしたり拡張したりできない可能性があります。
  • プライベート イメージ リポジトリ: プライベート イメージ リポジトリでは、組織のニーズに応じてイメージをカスタマイズおよび拡張し、特定のビジネス ニーズを満たすことができます。ユーザーはニーズに応じて独自のイメージを作成および管理し、カスタマイズおよび拡張することができます。

料金

  • パブリック イメージ リポジトリ: パブリック イメージ リポジトリは通常無料で、ユーザーはそこに含まれるイメージに無料でアクセスして使用できます。
  • プライベート イメージ リポジトリ: プライベート イメージ リポジトリにアクセスして使用するには、有料サブスクリプションが必要になる場合があります。コストはプロバイダーとサブスクリプションプランの特定の価格設定によって異なります。

画像リポジトリにログインする

docker login コマンドは、Docker Hub またはその他の Docker イメージ リポジトリ サービスにログインするために使用されます。ログインに成功すると、Docker クライアントを使用してイメージをイメージ リポジトリにプッシュまたはプルできます。

基本的な構文

docker login [OPTIONS] [SERVER]

各部分の意味は次のとおりです。

  • オプション: 追加のオプションと構成を指定するために使用されるオプション パラメーター。
  • SERVER: ログインする Docker イメージ リポジトリ サービスのアドレス。このパラメータを指定しない場合、デフォルトのログインは Docker Hub になります。

OPTIONS セクションには、次の 2 つの一般的なオプションがあります。

  • -u, --username: ユーザー名
  • -p, --password: パスワード

使用例

Docker Hubにログインします。

 docker login

写真

これにより、対話型ダイアログが開き、ユーザー名とパスワードの入力を求められます。正常にログインするには、正しいユーザー名とパスワードを入力してください。

コマンドラインからユーザー名とパスワードを指定する場合は、-u および -p オプションを使用します。

 docker login -u USERNAME -p PASSWORD

プライベート イメージ リポジトリ サービスにログインする場合は、対応するプライベート イメージ リポジトリ サービスのアドレスを指定する必要があります。 REGISTRY_URL はプライベート リポジトリ サービスのアドレスです。

 docker login REGISTRY_URL

ログインが成功すると、ターミナルにログインが成功したことを示すプロンプト メッセージが表示され、Docker クライアントは提供された資格情報を使用して、後続の操作でイメージ リポジトリ サーバーと通信します。

Docker レジストリにログインする際、パスワードは平文で送信されるため、docker login コマンドは必ず安全な環境で使用し、公共の場や安全でないネットワークでは使用しないようにしてください。

画像リポジトリからログアウトする

docker logout コマンドは、現在ログインしている Docker ユーザーをログアウトし、Docker Hub またはその他の Docker イメージ リポジトリ サービスからログアウトするために使用されます。

基本的な構文

docker logout [SERVER]

SERVER パラメータはオプションであり、ログアウトする Docker レジストリのアドレスを指定するために使用されます。このパラメータを指定しないと、現在ログインしている Docker Hub アカウントはデフォルトでログアウトされます。

使用例

現在ログインしている Docker Hub アカウントからログアウトします。

 docker logout

現在プライベート Docker レジストリにログインしている場合は、対応するレジストリ アドレスを指定してログアウトできます。

 docker logout REGISTRY_URL

コマンドを実行すると、ログアウトが成功したことを示すプロンプト メッセージが表示され、Docker クライアントはレジストリとの通信に以前に提供された資格情報を使用しなくなります。

プライベート倉庫管理

オープンソースのエンタープライズレベルの Docker プライベート リポジトリ ツールの中で、Harbo は代表的なものであり、比較的人気があります。 Docker はオープンソースのイメージ リポジトリ ツール Docker Registry も公式に提供しています。 Harborと比較すると、Docker Registry の機能は劣ります。両者の機能上の違いは次のとおりです。

機能拡張

  • Docker レジストリ: Docker レジストリは、Docker が提供するオープンソースのイメージ リポジトリ サービスであり、基本的なイメージの保存および転送機能を提供します。 Docker Engine の一部として実行でき、HTTP API に基づく標準インターフェースを提供します。
  • Harbor: Harbor は、VMware が開始したオープンソースのエンタープライズ レベルの Docker レジストリ サービスです。これは Docker Registry 2.0 上に構築されており、より豊富な機能とより高度な機能を提供します。 Harbor は、基本的なイメージの保存および転送機能に加えて、セキュリティ スキャン、RBAC 権限制御、イメージの複製と同期、イメージの署名など​​の多くの高度な機能も提供します。

セキュリティとアクセス制御

  • Docker レジストリ: Docker レジストリは基本的な認証機能を提供しますが、権限制御は比較的弱いです。画像コンテンツに対するセキュリティスキャンおよび監査機能がありません。
  • Harbor: Harbor は、より強力なセキュリティと権限制御機能を提供します。ロールベースのアクセス制御 (RBAC)、LDAP/AD 統合、イメージ コンテンツの脆弱性スキャンとセキュリティ監査、およびイメージの署名と検証をサポートしており、ユーザーはイメージ コンテンツのセキュリティをより適切に管理および保護できます。

ミラー複製と同期

  • Docker レジストリ: Docker レジストリ自体はイメージのコピーや同期の機能を提供していないため、ユーザーが独自に実装する必要があります。
  • Harbor: Harbor はミラーリングと同期機能をサポートしており、複数の Harbor インスタンス間でミラーを同期して、高可用性と災害復旧バックアップを実現できます。

マルチテナントサポート:

  • Docker レジストリ: Docker レジストリはネイティブのマルチテナント サポートを提供しません。すべてのユーザーとリポジトリは同じ名前空間にあります。
  • Harbor: Harbor はマルチテナント サポートを提供し、異なるプロジェクトまたは組織間で異なる権限とアクセス制御ポリシーを分割して、テナント間の分離とセキュリティを確保できます。

一般的に、Harbor は Docker Registry に基づくより高度な機能とセキュリティ制御を提供し、より複雑なエンタープライズ レベルのアプリケーション シナリオに適しています。

実際の業務で使うのであれば、Harbor の方が断然おすすめです。この記事では主に、プライベート イメージ リポジトリ管理における基本的な機能と一般的な操作について説明します。そのため、ここでは Docker の公式オープンソースイメージリポジトリサービスである Docker Registry を使用します。 Harborの詳しいインストール方法や使い方については後ほど別途紹介します。

Docker レジストリをインストールします。

docker run コマンドを使用して、Docker Hub から Docker Registry イメージをプルし、コンテナを実行するだけです。

 docker run -d -p 5000:5000 --restart=always --name registry registry:latest

これにより、サーバー上で Docker Registry コンテナが起動し、デフォルトのポート 5000 でリッスンし、コンテナが終了すると自動的に再起動されるため、Docker Registry サービスが常に利用可能になります。

ローカルイメージにリモートリポジトリのタグを付けます。

 docker tag myimage your-registry/myimage:latest

イメージをリモート リポジトリにプッシュします。

 docker push your-registry/myimage:latest

このようにして、myimage イメージの最新バージョンが your-registry という名前のプライベート リポジトリにプッシュされます。

プライベートリポジトリ内のイメージを使用する場合:

 docker pull your-registry/myimage:latest


<<:  エッジコンピューティングがデータ処理と IoT インフラストラクチャに与える影響

>>:  なぜ新しいストレージとコンピューティングの分離が主流になるのでしょうか?

推薦する

SEO最適化に別れを告げ、QQグループを使用してウェブサイトを宣伝しましょう

QQグループはおなじみのチャットツールで、マーケティングにQQグループを使用するケースがよく見られま...

fastervm-香港沙田VPS/1gメモリ/10g SSD/3M無制限トラフィック/年払い360元

fastervm は最近、香港の沙田データセンターに VPS を設置しました。このデータセンターは、...

Virmach の Phoenix データセンター AMD シリーズ VPS の簡単なレビュー

Virmach の AMD Ryzen シリーズ VPS が Phoenix データセンターで正式に...

ウェブサイト開発に焦点を当てる: 権威の低いウェブサイトでトラフィックを増やす方法

ウェブサイトの重みが高ければ高いほど、トラフィックも増えます。これは永遠の真実なので、ウェブサイトを...

liteserver-13.6 ユーロ/年/128 メモリ/100 GB ハード ドライブ/1 TB トラフィック/オランダ

liteserver.nl は 2007 年に設立されたオランダのホスティング会社です。商工会議所番...

EasyVmNet: 月額 3 ドル、2G メモリ/2 コア/30g SSD/2T トラフィック/1G 帯域幅、米国 (4 つのデータセンター) + シンガポール

easyvm.net は、正式には 2009 年に設立され、主に VPS、独立サーバー レンタル、機...

Zookeeper における Kafka のデータ構造を完全に説明する図

[[421933]] kafka_2.8.0 より前では、kafka を実行するには依然として zo...

周宏義:360 Searchの適正シェアは15%

周紅一(写真提供:Sina Technology)著者は、XueqiuのiUS株式アナリストであるT...

VMwareインフラストラクチャ上でNvidia vGPUを実行できるようになりました

VMware と Nvidia のコラボレーションの新たな章である Project Monterey...

クラウドコンピューティングの人工知能の開発は遅いが、注目を集めている。

IT プロフェッショナルが AI の適用を実験する際、その多くはパブリック クラウドでそれを実行する...

タオバオのセラーからイベントマーケティングの方法を学び、短期間で最適なコミュニケーションを実現します

【ポイント】イベントマーケティングは、対象者が広く、突発性が強く、短期間で最大かつ最適な情報伝達効果...

クラウドシルクのドイツAS9929ネットワークシリーズVPSの簡単なレビュー

4月にCloudsilkは「ドイツ・フランクフルト・コンチネンタル・プレミアム最適化BGP(9929...

インタラクティブデザインのためのユーザーインタビュー - いくつかの詳細

ユーザーインタビューとは、基本的には私たちが質問をして、ユーザーがそれに答えることを意味します。少し...