.. -- coding: utf-8 -- .. URL: https://docs.docker.com/compose/env-file/ .. SOURCE:
- doc version: 1.11
- https://github.com/docker/compose/commits/master/docs/env-file.md
- doc version: v20.10
- https://github.com/docker/docker.github.io/blob/master/compose/env-file.md
Compose はプロジェクトのディレクトリ内にある .env
という名前の :ruby:`環境ファイル <environment file>` 内で、デフォルトの環境変数の設定をサポートします。 Docker Compose バージョン 1.28
未満では、コマンドを実行する現在の作業ディレクトリ内にある .env
ファイルを読み込みます。または、 --project-directory
オプションを明示する場合は、プロジェクトのディレクトリにあるファイルを読み込みます。この矛盾を解消するため、 v1.28
以上からは、プロジェクトのディレクトリにあるデフォルトの .env
のみに制限しています。 --env-file
コマンドライン オプションを使えば、デフォルトの .env
を上書きでき、さらに任意の環境ファイルのパスを指定できます。
プロジェクト ディレクトリは優先順位によって決まります
--project-directory
フラグ- 1つめの
--file
フラグがあるフォルダ - 現在のディレクトリ
.env
ファイルは、以下の構文ルールを適用します。
- Compose は
env
ファイルの各行を変数=値
形式と想定 #
で始まる行はコメントとみなし、無視する- 空白行を無視する
- 引用記号には特別な処理を行わない。つまり 引用記号は値の一部 とみなす
このファイルで定義した環境変数は、 Compose ファイル内で :ref:`変数展開 <compose-file-v3-variable-substitution>` されます。また、以下の :doc:`CLI 変数` の定義も使えます。
COMPOSE_API_VERSION
COMPOSE_CONVERT_WINDOWS_PATHS
COMPOSE_FILE
COMPOSE_HTTP_TIMEOUT
COMPOSE_PROFILES
COMPOSE_PROJECT_NAME
COMPOSE_TLS_VERSION
DOCKER_CERT_PATH
DOCKER_HOST
- ``DOCKER_TLS_VERIFY
Note
.env
ファイル内で定義された環境変数の値は、実行時に常に上書きされます。同様に、コマンドラインの引数で渡された値も優先されます(上書きされます)。.env
ファイル内で定義された環境変数は、コンテナ内から自動的に見えません。コンテナ内で利用できる環境変数を指定するには、 :doc:`Compose での環境変数 <environement-variables>` のトピックにあるガイドラインをご覧ください。こちらには、シェル上の環境変数をコンテナ内に渡す方法や、 Compose ファイルでの環境変数の定義方法などの説明があります。
- :doc:`ユーザガイド <index>`
- :doc:`Compose のインストール <install>`
- :doc:`始めましょう <gettingstarted>`
- :doc:`コマンドライン リファレンス <reference/index>`
- :doc:`Compose ファイル リファレンス <compose-file>`
- :doc:`Compose のサンプルアプリ <samples-for-compose>`
.. seealso:: Declare default environment variables in file | Docker Documentation https://docs.docker.com/compose/env-file/