クラウド コンピューティングとビッグ データの発展に伴い、コンテナ テクノロジの人気がますます高まっています。一般的に使用されるコンテナ テクノロジとして Docker を使用すると、アプリケーションのデプロイメントと管理を簡素化し、アプリケーションの移植性を向上させることができます。アプリケーションの実行にかかるコストと複雑さのコストを削減します。ただし、Docker を学習する過程で最も基本的な質問の 1 つは、「Docker を使用して複数のコンテナを作成する方法は?」というものです。一緒に学びましょう!
- Docker のインストール
まず、Docker をインストールする必要があります。 Docker は、Windows、Linux、MacOS などの複数のオペレーティング システムをサポートしています。ここでは、デモンストレーションの例として Ubuntu 18.04 を取り上げます。
Docker をインストールするには、次のコマンドを実行する必要があります:
sudo apt-get update
sudo apt-get install docker .io
#インストールが完了したら、次のコマンドを実行して、正しくインストールされているかどうかを確認できます:
sudo docker version
Docker のバージョン情報が出力されていれば、Docker のインストールに成功しています。
Docker イメージの作成-
Docker コンテナーを作成する前に、Docker イメージを作成する必要があります。これらは仮想マシン内のイメージに似ており、複数のコンテナーの作成に使用できます。 Docker イメージを作成するには、Dockerfile を作成する必要があります。以下は、基本的な Dockerfile の例です。
# 基本镜像
FROM ubuntu:18.04
# 更新软件包并安装必要的软件
RUN apt-get update && apt-get install -y apache2
# 添加网页内容到容器中
COPY index.html /var/www/html/
ログイン後にコピー
この例では、まず、使用されるベース イメージが Ubuntu 18.04 であることを指定します。次に、パッケージを更新し、必要なパッケージ (この場合は Apache2) をインストールしました。最後に、単純な Web ページ コンテンツをコンテナーに追加しました。
Dockerfile の作成が完了したら、次のコマンドを使用してイメージをビルドできます:
sudo docker build -t my-apache2 .
この例では、「my-apache2」という名前のイメージを作成し、Dockerfile が配置されているディレクトリをビルド コンテキストとして使用します。
複数の Docker コンテナの作成-
これで、Docker イメージが作成されました。次に、このイメージを使用して複数の Docker コンテナを作成できます。以下の例は、3 つの Docker コンテナを作成し、ローカル ホスト上の異なるポートにバインドする方法を示しています。
sudo docker run -p 80:80 -d my-apache2
sudo docker run -p 8080:80 -d my-apache2
sudo docker run -p 8081:80 -d my-apache2
ここでは、
-p オプションを使用してポート マッピングを指定しました。 。最初のコマンドはコンテナのポート 80 をホストのポート 80 にマップし、2 番目のコマンドはコンテナのポート 80 をホストのポート 8080 にマップし、3 番目のコマンドはコンテナのポート 80 をホストのポート 8081 にマップします。
これで、3 つの Docker コンテナが正常に作成され、それらが異なるポートにバインドされました。ホスト マシンのさまざまなポートにアクセスすることで、さまざまなコンテナにアクセスし、コンテナが適切に実行されているかどうかを確認できます。
Docker Compose を使用して複数の Docker コンテナを作成する-
複数の Docker コンテナを手動で作成するだけでなく、Docker Compose ツールを使用して複数の Docker コンテナを作成および管理することもできます。 。 Docker Compose は、単一のファイルで複数の Docker コンテナーを定義および管理し、それらを簡単にオーケストレーションおよび調整できるコマンドライン ツールです。
たとえば、次は基本的な Docker Compose ファイルです:
version: '3'
services:
web:
image: my-apache2
ports:
- "80:80"
volumes:
- ./web:/var/www/html
restart: always
db:
image: postgres
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
ログイン後にコピー
この例では、2 つのサービスを定義します。1 つは前に作成した my-apache2 イメージの使用に基づく Web サービス、もう 1 つはPostgreSQLベースのデータベースサービス。また、データベース データを永続化するために db-data という名前のボリュームも定義します。
Docker Compose を使用すると、次のコマンドでこれらのサービスを開始できます:
sudo docker-compose up -d
この例では、
-d オプションは、サービスをバックグラウンド実行モードにするために使用されます。
-f オプションは、Docker Compose ファイル パスの指定にも使用できます。
概要
上記は、Docker を使用して複数のコンテナーを作成する方法のプロセス全体です。もちろん、これは氷山の一角にすぎず、Docker の使用方法は数多くあり、使用方法はニーズに応じて異なります。実際のアプリケーションでは、イメージ管理、ネットワーク構成、データ量など、Docker のより多くの側面を理解する必要もあります。この記事が初心者にとって参考になり、皆さんが Docker をより深く学ぶきっかけになれば幸いです。
以上がDockerで複数のコンテナを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。