#author("2019-04-02T05:33:04+09:00","default:ryuichi","ryuichi")
#author("2019-04-02T05:41:36+09:00","default:ryuichi","ryuichi")
* コンテナに環境変数を渡す [#da0c3105]
** コンテナに環境変数を渡す方法 [#e4dc6dc5]
- docker-compose.yml内にenvironmentキーを用意して、渡したい環境変数を記述する
- environmentキーがホワイトリスト的になっていて、ここに記述されてなければホスト側の環境変数はコンテナには渡らない
- もしくは、docker-composeコマンドのオプションで指定できる
** 例 [#jcb273fc]
*** docker-compose.yml: [#ie9df5a4]
version: "3"
services:
app:
image: alpine:latest
environment:
- MYENV1=1
- PATH # ホスト(Windowsとか)側の環境変数を
- MYENV2
command: env
version: "3"
services:
app:
image: alpine:latest
environment:
- YAML_ENV=50 # ymlファイル内で直接指定して渡す場合
- USERPROFILE # ホスト側の環境変数をそのまま渡す場合
- HOST_PATH=$PATH # ホスト側の環境変数を変数名を変えて渡す場合
- DOT_ENV # .envファイルに記述して渡す場合
command: env # コンテナ上でenvコマンドを実行して環境変数を表示してみる
*** .env: [#rde6de4d]
DOT_ENV=100
*** 結果 [#db2ec0a5]
CMD> docker-compose up
app_1 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
app_1 | HOSTNAME=abc123
app_1 | YAML_ENV=50
app_1 | HOST_PATH=C:\Windows\system32;(略)
app_1 | USERPROFILE=C:\Users\user01
app_1 | DOT_ENV=100
app_1 | HOME=/root
** docker-composeコマンドのオプションで指定 [#jb79df34]
docker-compose run -e FOO=1 -e BAR=2 app
** 参考 [#ie7ccf3c]
- https://qiita.com/kimullaa/items/f556431b8103e686f356
- https://docs.docker.com/compose/environment-variables/