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

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

推薦する

ウェブサイトの最適化結果を効果的に改善する方法

ウェブサイトの最適化は、検索エンジンで自然なランキングを達成する方法です。特定の最適化技術を通じて、...

2019 年の ACM フェロー リストが発表されました。陶大成、謝元、陳希林を含む7人の中国人学者が選出された。

コンピュータサイエンスの分野で世界最大の専門学術組織であるACM(Association for C...

ビンドゥンドゥン産業チェーンの発掘

北京冬季オリンピックのマスコット「ビン・ドゥエンドゥエン」は瞬く間にトップスターとなった。冬季オリン...

Kafka トランザクションフローの基礎から実践まで

イベント ソーシング、結果整合性、マイクロサービス、CQRS など、現代の開発者にとって馴染みのある...

ビリビリがWeChatの役目を担う

「この調子が続けば、ビリビリは金融部門を開設できるだろう」ビリビリのユーザーは、最近多くの一般アカウ...

fatcow - 年間 20 ドルの無制限ホスティング + 無料ドメイン

fatcow は 4 月下旬に素晴らしいプロモーションを開始しました:無制限の Web サイト ホス...

皆様、建国記念日おめでとうございます!

一年で珍しい長い休日です。今年の建国記念日は7日間です。皆さんが楽しい時間を過ごせますように!当分の...

SEOは始めるのは簡単だが習得するのは難しい

前回の記事「初心者は盲目的に SEO 業界に参入すべきではない」で、SEO には多くのことを理解する...

外部リンク構築は、2つの目標を同時に達成します。建築資材のウェブサイトの外部リンク構築を例に挙げてみましょう。

第二世代の百度緑大根アルゴリズムはウェブサイトの外部リンクに多くの要件を課していますが、これらの要件...

UCloud が「クラウド サービス ユーザー データ保護能力評価」の権威ある認証を初めて取得

最近、国内の権威あるクラウドコンピューティング評価システムであるTrusted Cloudが北京で記...

Toutiaoの社会的夢をもう一度見てみましょう!

SNSの巨大な人気は、昨年今日頭条がSNS分野で継続的に行動するきっかけとなった。「飛寮」と「抖音」...

contabo: オブジェクト ストレージを追加しました。シングル 250G~25T、20% オフ、最低 $2.49、トラフィック無制限

contabo は、19 年間運営されているドイツの老舗データセンターとして、多くの方にご存じのはず...

推奨: tmzvps - メモリ 2 倍、価格上昇なし、コア 8 個、1000M ポート / ロサンゼルス / ロンドン / フロリダ

tmzvps.com からプロモーション メールを送信しました。OpenVZ 仮想化に基づくすべての...

Baiduの最近のクレイジーなアップデートとアップグレードの歴史について簡単に説明します

あまり多くを語る必要はありません。最近、Baidu はユーザー エクスペリエンスのアップグレードと調...

私のウェブサイトの 301 リダイレクトが Baidu で機能しないのはなぜですか?

私のウェブサイト「Xiao Han Qi Tuネットワーク」が起動しました。今、私は普通の愚かさでは...