ホームページ  >  記事  >  運用・保守  >  Dockerで複数のコンテナを作成する方法

Dockerで複数のコンテナを作成する方法

PHPz
PHPzオリジナル
2023-04-18 14:10:292447ブラウズ

クラウド コンピューティングとビッグ データの発展に伴い、コンテナ テクノロジの人気がますます高まっています。一般的に使用されるコンテナ テクノロジとして Docker を使用すると、アプリケーションのデプロイメントと管理を簡素化し、アプリケーションの移植性を向上させることができます。アプリケーションの実行にかかるコストと複雑さのコストを削減します。ただし、Docker を学習する過程で最も基本的な質問の 1 つは、「Docker を使用して複数のコンテナを作成する方法は?」というものです。一緒に学びましょう!

  1. 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 サイトの他の関連記事を参照してください。

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