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 インフラストラクチャに与える影響

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

推薦する

良い外部リンクの作り方を分析する

丸一週間の準備の後、外部リンクは徐々に定期的になってきました。ほとんどの新人ウェブマスターと同様に、...

優れたクラウド コンピューティング インフラストラクチャ自動化ツールにはどのようなものがありますか?

[[391594]]データ業界は現在、最も急速に成長しているニッチ市場となっています。しかし、この業...

spartanhost-月額1.5ドル/Kvm/256mメモリ/10g SSD/1Tトラフィック/Gポート/シアトル/20G DDOS保護

Spartanhost のブラック フライデーは少し遅れましたが、それでもかなり素晴らしいです。KV...

spartanhost にログインできない/使用できない、パス ファイアウォールを開いてルールを設定してください。

その年のブラックフライデーに、spartanhost は新しいダラス VPS プロモーションを開始し...

5つの異なるタイプのエッジソリューション

IDC の調査によると、人工知能、5G、ネットワーク、IoT テクノロジーの急増により、エッジ ソリ...

ビデオがSKYCC複合マーケティングソフトウェアの運命を変える?

最近のニュース「クリエイティブマーケティングとブルーオーシャン戦略がSKYCCの売れ行きを伸ばす」で...

旅行統合企業Ctrip:Qunarの買収は困難、eLongへの投資を希望

テンセントテクノロジーファン・シャオドンが5月12日に報じた。 CtripとQunarの合併・買収交...

ブランドはダブルイレブンのマーケティングをどのように計画するのでしょうか?

毎年下半期、特にダブル11とダブル12は、電子商取引にとってカーニバルです。 9月になったが、eコマ...

24khost-1.5G メモリの格安 VPS-ラスベガス

24khost は以前にもストレージ VPS を紹介してきました。今回はラスベガスの FiberHu...

企業ウェブサイトのタイトルと説明文の企画方法の分析例

今日は、Meng Feiyang が、良いタイトルの書き方、良いキーワードの書き方、良い説明の書き方...

5.14 母の日、ブランドポスターマーケティングの見直し

どの祝日も人気スポットですが、母の日も例外ではありません。需要があるかどうかに関係なく、まずは参加し...

新しいウェブサイト Baidu をゼロから構築するための 4 つのポイント

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトのBaidu...

ニーズに合ったクラウドホストの選び方

他のビジネス システムの購入と同様に、組織はマーケティングの売り込みやセールストークを超えて、ニーズ...

ウェブサイトのURLを解析する際によくある問題の例

多くの場合、外部リンクやコンテンツに重点を置き続けていると、構造が徐々に私たちにとっての呪いとなって...

副業でお金を稼ぎますか?副収入を得るのに役立つ起業家向けウェブサイト 5 選

私はいつも自分自身にこの質問をしてきました。誰かが広告を出しているのを見るといつも、私は尋ねたくなり...