Skip to content

Latest commit

 

History

History
115 lines (83 loc) · 6.02 KB

env-file.rst

File metadata and controls

115 lines (83 loc) · 6.02 KB

.. -- 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 ファイルでの環境変数の定義方法などの説明があります。
.. seealso::

   Declare default environment variables in file | Docker Documentation
      https://docs.docker.com/compose/env-file/