docker-composeの環境変数設定

docker-composeを活用するとマルチコンテナを一限管理しやすくなります。

Compose file(YAML形式の設定ファイル)で環境変数を設定する際、env_fileディレクティブでコンテナ間の共通変数を定義できるため、開発環境のDBホストの接続情報などをDRYに指定できます。

Compose fileの該当部分だけを記載すると、以下のような形式になります。

services:
  container_1:
    env_file: ./common.env
    environment:
      DB_NAME: db_1
  container_2:
    env_file: ./common.env
    environment:
      DB_NAME: db_2

env_fileのほか、environmentディレクティブで個別の環境変数もセットでき、env_fileと併用できます。

env_fileで指定するファイルは、以下のように環境変数を羅列した単純な形式です。

HOST=192.168.1.1
USER=some_db_user
PASS=some_db_password

各コンテナの環境変数を確認するには、docker execなどを利用してコンテナ上でsetコマンドを実行するとリスト表示されます。

ほか、Compose fileの設定については、 公式ドキュメントに記載されています。

中馬崇尋
Chuma Takahiro