コンテナに環境変数を渡す

コンテナに環境変数を渡す方法

  • docker-compose.yml内にenvironmentキーを用意して、渡したい環境変数を記述する
  • environmentキーがホワイトリスト的になっていて、ここに記述されてなければホスト側の環境変数はコンテナには渡らない
  • もしくは、docker-composeコマンドのオプションで指定できる

docker-compose.yml:

 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:

 DOT_ENV=100

結果

 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コマンドのオプションで指定

 docker-compose run -e FOO=1 -e BAR=2 app

参考


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

Last-modified: 2019-04-02 (火) 05:41:36