知識ベース

Docker Compose 入門

Docker Compose は、マルチコンテナ Docker アプリケーションを定義・実行できるツールです。YAML ファイルを使用してアプリケーションのサービス、ネットワーク、ボリュームを設定でき、相互に接続されたコンテナ群を 1 つのユニットとして管理できます。

Docker Compose は 2014 年に登場し、マルチコンテナ Docker アプリケーションの管理を簡素化する手段として広く採用されました。以降、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

この例では、2 つのサービス「web」と「db」を定義しています。「web」サービスは nginx イメージを使用し、ポート 8000 をホストに公開します。「db」サービスは postgres イメージを使用し、POSTGRES_PASSWORD 環境変数に example を設定しています。

アプリケーションを起動するには、次のコマンドを実行します。

docker-compose up

このコマンドは YAML ファイルを読み取り、ファイル内で定義されたコンテナを起動します。その後、Web ブラウザで http://localhost:8000 にアクセスすれば、Web サービスを確認できます。

まとめ

Docker Compose は、マルチコンテナ Docker アプリケーションを管理するための強力なツールです。Docker Compose を使えば、アプリケーションを相互接続されたコンテナの集合として定義でき、管理やスケーリングが容易になります。シンプルな YAML ファイルでアプリケーションを構成することで、複雑なコンテナベースのアプリケーションも簡単に作成・実行・管理できるようになります。