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

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

  • 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 (77d)