目次
Docker イメージはプライベートまたはパブリックのリポジトリに保存できます。パブリック リポジトリは誰でも公開されていますが、プライベート リポジトリはアクセスするために認証が必要です。プライベート リポジトリは通常、公開すべきでない独自のコードやデータを含むイメージに使用されます。プライベート リポジトリにアクセスするには、認証資格情報を提供する必要があります。
プライベート リポジトリで Docker Compose を使用する場合は、ホスト マシン上で実行されている Docker デーモンがリポジトリにアクセスできることを確認する必要があります。これを実現するには、リポジトリで使用される認証方法に応じて、いくつかの方法があります。
Docker デーモンは、config.json ファイルを使用して認証資格情報を保存できます。このファイルは手動で作成することも、docker login コマンドを使用して作成することもできます。 Docker Compose で config.json ファイルを使用するには、それをコンテナー内のボリュームとしてマウントする必要があります。以下に例を示します:
一部のプライベート リポジトリは、環境変数による認証をサポートしています。この方法は、構成ファイルで資格情報を公開したくない場合に便利です。例を次に示します −
この例では、REGISTRY_USERNAME および REGISTRY_PASSWORD 環境変数を認証資格情報として設定します。コンテナ内で実行されている Docker デーモンは、これらの変数を使用してリポジトリで認証できます。
この例では、env_file ディレクティブを使用して、.env ファイルに定義された環境変数を読み込みます。以下は .env ファイルの内容の例です:
Docker Hub にプライベート リポジトリがあり、それを Docker Compose ファイルで使用したいとします。まず、認証資格情報を含む config.json ファイルを作成します -
この Docker Compose ファイルを実行するには、次のコマンドを使用できます -
これにより、「アプリ」サービスが開始され、プライベート リポジトリからイメージがプルされます。
私有仓库与Docker配置
私有仓库与Docker构建
结论
ホームページ データベース mysql チュートリアル プライベート リポジトリでの docker-compose の使用

プライベート リポジトリでの docker-compose の使用

Aug 29, 2023 pm 11:13 PM

###############導入###

Docker Compose は、複数コンテナーの Docker アプリケーションを定義および実行するためのツールです。これにより、開発者はアプリケーション スタックを YAML ファイルとして定義できるため、いくつかのコマンドを使用するだけで複雑な環境を簡単に作成できます。ただし、プライベート リポジトリで Docker Compose を使用するのは少し難しい場合があります。この記事では、さまざまな認証方法とその例を含め、Docker Compose でプライベート リポジトリを使用する方法を説明します。 プライベート リポジトリでの docker-compose の使用

プライベート倉庫とは何ですか?

Docker イメージはプライベートまたはパブリックのリポジトリに保存できます。パブリック リポジトリは誰でも公開されていますが、プライベート リポジトリはアクセスするために認証が必要です。プライベート リポジトリは通常、公開すべきでない独自のコードやデータを含むイメージに使用されます。プライベート リポジトリにアクセスするには、認証資格情報を提供する必要があります。

Docker Compose とプライベート ウェアハウスの使用

プライベート リポジトリで Docker Compose を使用する場合は、ホスト マシン上で実行されている Docker デーモンがリポジトリにアクセスできることを確認する必要があります。これを実現するには、リポジトリで使用される認証方法に応じて、いくつかの方法があります。

###認証方法###

Docker Config.json ファイル

Docker デーモンは、config.json ファイルを使用して認証資格情報を保存できます。このファイルは手動で作成することも、docker login コマンドを使用して作成することもできます。 Docker Compose で config.json ファイルを使用するには、それをコンテナー内のボリュームとしてマウントする必要があります。以下に例を示します:

リーリー

この例では、ユーザーのホーム ディレクトリにある config.json ファイルをコンテナのルート ディレクトリにマウントします。これにより、コンテナ内で実行されている Docker デーモンが、ファイルに保存されている認証情報にアクセスできるようになります。

###環境変数###

一部のプライベート リポジトリは、環境変数による認証をサポートしています。この方法は、構成ファイルで資格情報を公開したくない場合に便利です。例を次に示します −

リーリー

この例では、REGISTRY_USERNAME および REGISTRY_PASSWORD 環境変数を認証資格情報として設定します。コンテナ内で実行されている Docker デーモンは、これらの変数を使用してリポジトリで認証できます。

Docker Compose .env ファイル

Docker Compose を使用すると、.env ファイルで環境変数を定義できます。このファイルは、docker-compose コマンドの実行時に自動的にロードされます。以下に例を示します −

リーリー

この例では、env_file ディレクティブを使用して、.env ファイルに定義された環境変数を読み込みます。以下は .env ファイルの内容の例です:

リーリー

このアプローチは、YAML ファイル内で環境変数を直接使用する方法に似ていますが、資格情報を別のファイルに保持できます。

###例###

プライベート ウェアハウスと Docker Config.json ファイル

Docker Hub にプライベート リポジトリがあり、それを Docker Compose ファイルで使用したいとします。まず、認証資格情報を含む config.json ファイルを作成します -

リーリー

この例では、base64 でエンコードされた文字列を認証資格情報として使用します。ユーザー名とパスワードをコロンで区切ってエンコードした文字列

さあ、プライベート リポジトリを使用する Docker Compose ファイルを作成しましょう −

リーリー

この例では、プライベート リポジトリのイメージ「myprivaterepo/myapp」を使用する「app」というサービスを定義します。また、コンテナ内で実行されている Docker デーモンが資格情報にアクセスできるように、config.json ファイルをボリュームとしてコンテナにマウントします。

この Docker Compose ファイルを実行するには、次のコマンドを使用できます -

リーリー

これにより、「アプリ」サービスが開始され、プライベート リポジトリからイメージがプルされます。

プライベート リポジトリと環境変数

セルフホスト型レジストリでホストされているプラ​​イベート リポジトリがあり、それを Docker Compose ファイルで使用したいとします。まず、認証資格情報を環境変数として設定します -

リーリー

さあ、プライベート リポジトリを使用する Docker Compose ファイルを作成しましょう −

リーリー

この例では、プライベート リポジトリのイメージ「myprivaterepo/myapp」を使用する「app」というサービスを定義します。また、認証資格情報の REGISTRY_USERNAME および REGISTRY_PASSWORD 環境変数も設定します。

この Docker Compose ファイルを実行するには、次のコマンドを使用できます -

リーリー

これにより、「アプリ」サービスが開始され、プライベート リポジトリからイメージがプルされます。

プライベート ウェアハウスと Docker Compose .env ファイル

セルフホスト型レジストリでホストされているプラ​​イベート リポジトリがあり、それを Docker Compose ファイルで使用したいとします。まず、認証資格情報を含む .env ファイルを作成します -

リーリー

さあ、プライベート リポジトリを使用する Docker Compose ファイルを作成しましょう −

リーリー

この例では、プライベート リポジトリのイメージ「myprivaterepo/myapp」を使用する「app」というサービスを定義します。また、env_file ディレクティブを使用して、.env ファイルで定義された環境変数をロードしました。

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

这将启动 "app" 服务并从我们的私有仓库拉取镜像。

私有仓库与Docker配置

如果您在一个swarm上运行Docker,您可以使用Docker配置来存储您的身份验证凭据。要在Docker Compose中使用Docker配置,我们需要创建一个包含我们身份验证凭据的配置文件−

echo "password" | docker secret create registry_password -
echo "username" | docker secret create registry_username -
ログイン後にコピー

现在,让我们创建一个使用我们的私有仓库的Docker Compose文件−

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
      secrets:
         - registry_username
         - registry_password
ログイン後にコピー

In this example, we're defining a service called "app" that uses image "myprivaterepo/myapp" from our private repository. We're also using secrets directive to load registry_username and registry_password secrets into container.

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

这将启动 "app" 服务并从我们的私有仓库拉取镜像。

私有仓库与Docker构建

如果您正在构建使用私有仓库的Docker镜像,您可以使用Docker build来对私有仓库进行身份验证。以下是一个示例 -

docker build --build-arg REGISTRY_USERNAME=username --build-arg REGISTRY_PASSWORD=password -t myprivaterepo/myapp .
ログイン後にコピー

在这个示例中,我们正在构建一个名为"myprivaterepo/myapp"的镜像,该镜像使用了一个私有仓库。我们通过 --build-arg 参数将我们的身份验证凭据作为构建参数传递。

一旦镜像构建完成,我们可以在Docker Compose文件中使用它−

version: '3.8'

services:
   app:
      image: myprivaterepo/myapp
ログイン後にコピー

在这个例子中,我们定义了一个名为"app"的服务,它使用来自我们私有仓库的镜像"myprivaterepo/myapp"。

要运行此Docker Compose文件,我们可以使用以下命令−

docker-compose up
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

这将启动“app”服务,并使用来自我们私有仓库的镜像。

结论

使用Docker Compose与私有仓库可能会有一些挑战,但是有几种可用的身份验证方法可以使访问您的镜像变得更容易。在本文中,我们探讨了如何使用Docker Compose与私有仓库,涵盖了不同的身份验证方法及其示例。通过按照这些示例,您可以轻松地对私有仓库进行身份验证,并在Docker Compose中使用您的镜像。

以上がプライベート リポジトリでの docker-compose の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

この記事では、MySQLのAlter Tableステートメントを使用して、列の追加/ドロップ、テーブル/列の名前の変更、列データ型の変更など、テーブルを変更することについて説明します。

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

記事では、証明書の生成と検証を含むMySQL用のSSL/TLS暗号化の構成について説明します。主な問題は、セルフ署名証明書のセキュリティへの影響を使用することです。[文字カウント:159]

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? 人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか? Mar 21, 2025 pm 06:28 PM

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

MySQLの大きなデータセットをどのように処理しますか? MySQLの大きなデータセットをどのように処理しますか? Mar 21, 2025 pm 12:15 PM

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用してMySQLのドロップテーブルについて説明し、予防策とリスクを強調しています。これは、バックアップなしでアクションが不可逆的であることを強調し、回復方法と潜在的な生産環境の危険を詳述しています。

INNODBフルテキスト検索機能を説明します。 INNODBフルテキスト検索機能を説明します。 Apr 02, 2025 pm 06:09 PM

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

外国の鍵を使用して関係をどのように表現しますか? 外国の鍵を使用して関係をどのように表現しますか? Mar 19, 2025 pm 03:48 PM

記事では、外部キーを使用してデータベース内の関係を表すことで、ベストプラクティス、データの完全性、および避けるべき一般的な落とし穴に焦点を当てています。

JSON列にインデックスを作成するにはどうすればよいですか? JSON列にインデックスを作成するにはどうすればよいですか? Mar 21, 2025 pm 12:13 PM

この記事では、クエリパフォーマンスを強化するために、PostgreSQL、MySQL、MongoDBなどのさまざまなデータベースでJSON列にインデックスの作成について説明します。特定のJSONパスのインデックス作成の構文と利点を説明し、サポートされているデータベースシステムをリストします。

See all articles