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

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

推薦する

加速クラウド:「四川省西部雅安」300G高防御サーバー、バックボーン直結1.8ミリ秒、月額650元から

成都小人居科技のブランド「加速クラウド」は、新しい高防御コンピュータルーム「四川西部雅安ビッグデータ...

エンタープライズ Web サイトは、高いコンバージョン率を達成するためにランディング ページとトラフィック ページに依存する必要があります (パート 2)

前回の記事では、主に企業のランディングページのコンバージョン率を向上させる方法について説明しました。...

ハロウィン: asmallorange - 全商品 50% オフ/ウェブホスティング/リセラー/VPS/サーバー

asmallorange.com ハロウィーンを記念して、今から全商品が 50% オフとなりますが、...

2023 年のエンタープライズ クラウド戦略の 7 つのトレンド

クラウド コンピューティング テクノロジーがさまざまな方向に進化しており、そのすべてがコンピューティ...

オンラインマーケティングトレーニングで学ぶべき6つの最も重要なマーケティング分野

最近、友人から私のマーケティング本「デートはこうすればもっと楽しくなる」がいつ出版されるのかと聞かれ...

旅行ガイドコミュニティは変化している: UGCから構造化された取引へ

[概要] 従来の戦略コミュニティは困難に直面しており、日々のユーザーアクティビティは減少しています。...

SEOピラミッドマトリックスとその動作原理の簡単な分析

最近、SEO の世界で奇跡的な新技術として噂されているのが、SEO ピラミッド マトリックス ランキ...

Spring Cloud Function の SpEL インジェクション脆弱性 (CVE-2022-22963) の分析

Akamai の強力なセキュリティ ソリューションの詳細については、こちらをご覧ください。 1. 概...

キーワード「防水ケース」をBaiduホームページに最適化する技術事例分析

防水ケースのキーワード最適化Baiduで防水ケースのキーワードを最適化するのは非常に困難です。これは...

Kubernetes ベースのハイブリッド クラウドを構築するメリットとデメリット

過去 1 年間、ハイブリッド クラウドは、企業がクラウド変革を開始するための最良の選択肢であると言わ...

19階ウェディングチャンネルのコンテンツ設定方法とテクニックの実践分析

私は杭州にいるので、杭州19階にある最大の地元コミュニティにとても慣れているので、当然このウェブサイ...

本当にSEOを実践していると思いますか?

今日、私が手がけている「南京インターネット会社」というキーワードで1位になっているウェブサイトが実は...

クラウド コンピューティング監視の使用例にはどのようなものがありますか?

オンプレミスからクラウドまで、アプリケーションとネットワークのパフォーマンスをエンドツーエンドで可視...