KNOWLEDGEBASE
Docker Compose の紹介
Docker Compose は、ユーザーが複数コンテナーの Docker アプリケーションを定義して実行できるようにするツールです。 Docker Compose を使用すると、YAML ファイルを使用してアプリケーションのサービス、ネットワーク、およびボリュームを構成できるため、相互接続されて単一のユニットとして管理される複数のコンテナーを実行できます。
Docker Compose は、複数コンテナーの Docker アプリケーションの管理を簡素化する方法として 2014 年に導入されました。 それ以来、Docker エコシステムで人気のあるツールとなり、コンテナーをオーケストレーションするためのシンプルで効率的な方法を提供しています。
Docker Compose の仕組み
Docker Compose は、アプリケーションのサービス、ネットワーク、およびボリュームを記述する YAML ファイルを読み取ることによって機能します。 各サービスはコンテナーとして定義され、YAML ファイルはコンテナーの構成方法とコンテナー間の通信方法を指定します。
Docker Compose を実行すると、アプリケーションのネットワークが作成され、YAML ファイルで定義されたコンテナーが開始されます。 コンテナーは YAML ファイルで定義された順序で開始され、各コンテナーは独自の環境変数、構成ファイル、およびその他のリソースのセットで開始されます。
コンテナーが実行されると、Docker Compose は、コンテナーの開始と停止、サービスのスケーリング、ログの表示など、アプリケーションを管理するための一連のコマンドを提供します。
Docker Compose の使用
Docker Compose を使用するには、まずアプリケーションを記述する YAML ファイルを作成する必要があります。 シンプルな Docker Compose YAML ファイルの例を次に示します。
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
この例では、「web」と「db」の 2 つのサービスがあります。 「web」サービスは nginx イメージを使用し、ポート 8000 をホストに公開します。 「db」サービスは postgres イメージを使用し、POSTGRES_PASSWORD 環境変数を設定します。
アプリケーションを開始するには、次のコマンドを実行できます。
docker-compose up
このコマンドは、YAML ファイルを読み取り、ファイルで定義されたコンテナーを開始します。 次に、Web ブラウザーを開いて「http://localhost:8000」に移動すると、Web サービスにアクセスできます。
### 結論
Docker Compose は、複数コンテナーの Docker アプリケーションを管理するための強力なツールです。 Docker Compose を使用すると、相互接続されたコンテナーのセットとしてアプリケーションを定義できるため、アプリケーションの管理とスケーリングが容易になります。 シンプルな YAML ファイルを使用してアプリケーションを構成することにより、Docker Compose を使用すると、複雑なコンテナー ベースのアプリケーションを簡単に作成、実行、および管理できます。