#author("2023-01-06T17:57:04+09:00","default:ryuichi","ryuichi")
#author("2023-01-06T18:06:41+09:00","default:ryuichi","ryuichi")
* docker composeでホストOSのシェルの環境変数をコンテナに渡す [#zd16477d]
** 命題 [#i7fd73d7]
- シェルの環境変数DEBUGをコンテナに渡す
** 手順 [#za752999]
*** docker-compose.yml [#x3d7b8a3]
version: '3'
services:
app:
env_file:
- myenv.txt
environment:
- DEBUG=$DEBUG
- env_file
- コンテナに渡す環境変数をenvironmentに記述する
- 注意点として、env_fileのmyenv.txtに書かれた環境変数は、docker-compose.ymlファイルの中では参照できないので、シェルの環境変数を渡す手段にはならない
- なお、environmentはenv_fileより優先するので、myenv.txtに書かれた環境変数と同じ変数がenvironmentにあった場合は上書きされる
*** コンテナ起動 [#kafea03a]
$ DEBUG=123 docker-compose up
- ここではコマンドラインでDEBUG=123を指定してるが、シェルの機能を使えばなんでもいい。.bashrcに書くとか
** 参考 [#me8fc55e]
https://stackoverflow.com/questions/49293967/how-to-pass-environment-variable-to-docker-compose-up