docker composeでホストOSのシェルの環境変数をコンテナに渡す

命題

  • シェルの環境変数DEBUGをコンテナに渡す

手順

docker-compose.yml

 version: '3'
 services:
    app:
      env_file:
        - myenv.txt
      environment:
        - DEBUG=$DEBUG
  • コンテナに渡す環境変数をenvironmentに記述する
  • 注意点として、env_fileのmyenv.txtに書かれた環境変数は、docker-compose.ymlファイルの中では参照できないので、シェルの環境変数を渡す手段にはならない
  • なお、environmentはenv_fileより優先するので、myenv.txtに書かれた環境変数と同じ変数がenvironmentにあった場合は上書きされる

コンテナ起動

 $ DEBUG=123 docker-compose up
  • ここではコマンドラインでDEBUG=123を指定してるが、シェルの機能を使えばなんでもいい。.bashrcに書くとか

参考

https://stackoverflow.com/questions/49293967/how-to-pass-environment-variable-to-docker-compose-up


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2023-01-06 (金) 18:06:41