docker-compose up - установить переменную окружения для контейнеров - PullRequest
0 голосов
/ 13 декабря 2018

Я не понимаю, как работает environment: в docker-compose.yml.

Итак, если у меня есть

environment:
  - MY_ENV_VAR
  - MY_SECOND_ENV_VAR

Теперь, как мне установить их при вызове docker-compose up?

Я пытался с export раньше.

Я пытался с -e KEY=VALUE

Но, похоже, ничего не работает.

Когда я ssh к контейнеру и проверяю env, я не нахожу MY_ENV_VAR или MY_SECOND_ENV_VAR.

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Я обнаружил проблему.

Если в вашем файле yml есть несколько служб:

one:
  environment:
    - VAR_ONE
two:
  environment:
    - VAR_ONE
    - VAR_TWO

И вы делаете

export VAR_ONE=1
export VAR_TWO=2
docker-compose up

А затем sshtwo, вы НЕ см. VAR_TWO.

Если вы измените yml на:

one:
  environment:
    - VAR_ONE
    - VAR_TWO
two:
  environment:
    - VAR_ONE
    - VAR_TWO

Обратите внимание, что каждая служба имеетточно такие же ключи env.

Тогда это работает!

0 голосов
/ 13 декабря 2018

Вы можете присвоить значения в файле yml.

environment:
  - MY_ENV_VAR=foo
  - MY_SECOND_ENV_VAR=bar

Вы также можете использовать переменную среды в файле yml.

 environment:
  - MY_ENV_VAR=${foo}
  - MY_SECOND_ENV_VAR=${bar}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...