environmentとenv_file
environment項目では、DockerfileのENVコマンドと同様に、環境変数を設定することが可能です。
environment:
# composeファイル内で設定(a)
- ARG1=arg1
# シェル内の環境変数の受け渡し(b)
- ARG2
という形式で環境変数が設定可能です。
env_file
env_file項目では、外部ファイルを利用して環境変数を設定することが可能です。
env_file: .env
と設定することで、.env内の設定を読み込むことが可能です。
.envは
ARG1=arg1
ARG2=arg2
のような形式で設定を行います。
環境変数の優先順位
環境変数の優先順位は
- docker-compose ファイル(a)
- シェル内の環境変数(b)
- env_file
- Dockerfile
- 未定義の変数
となっています。DockerfileでENVを設定したものが上書きされることに注意しておきましょう。