まず、Docker Composeの環境ファイルは、通常は.env
という名前で作成されます。このファイルには、キーと値のペアで環境変数を定義します。例えば、以下のような.env
ファイルがあるとします。
DB_HOST=localhost
DB_PORT=5432
DB_USER=myuser
DB_PASSWORD=mypassword
上記の例では、DB_HOST
、DB_PORT
、DB_USER
、DB_PASSWORD
という環境変数が定義されています。これらの変数は、Docker Composeファイル内で使用することができます。
Docker Composeファイル(通常はdocker-compose.yml
)内で、環境変数を使用するには、${}
で囲んで変数名を指定します。以下に例を示します。
version: '3'
services:
db:
image: postgres
environment:
POSTGRES_HOST: ${DB_HOST}
POSTGRES_PORT: ${DB_PORT}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
上記の例では、db
という名前のサービスに対してPostgreSQLコンテナを使用しています。environment
セクションで、環境変数を設定しています。環境変数の値として、${}
で囲んだ環境変数名を指定しています。
このようにすることで、環境ファイルで定義した値がDocker Composeファイル内のコンテナの環境変数として渡されます。これにより、コンテナ内のアプリケーションが正しい設定で実行されるようになります。
上記の例では、PostgreSQLコンテナを例に挙げましたが、他のコンテナでも同様の方法で環境変数を使用することができます。また、.env
ファイルに定義する環境変数の数や名前は、プロジェクトやアプリケーションの要件に応じて自由に変更できます。
以上が、Docker Composeの環境ファイルの例と使い方の解説です。環境ファイルを使用することで、Dockerコンテナ内のアプリケーションの設定を柔軟にカスタマイズすることができます。