Докер Создайте extra_hosts из файла env_file, а не из файла .env по умолчанию - PullRequest
0 голосов
/ 30 сентября 2019

Я использую файлы docker-compose версии 2.

Возможно ли прочитать extra_hosts из env_file?

Я уже определил общие переменные для всех docker-compose в одной переменной средыфайл.

Пример: -

version: '2'
workspace:
  env_file:
    - "../shared_environment/shared_variables.env"
  extra_hosts:
    - "dockerhost:${DOCKER_HOST_IP}"
    - "windowshost:${WINDOWS_HOST_IP}"

Когда я запускаю конфигурацию docker-compose, она имеет следующий вывод.

workspace:
environment:
  DOCKER_HOST_IP: 192.168.99.100
  WINDOWS_HOST_IP: 192.168.99.1
extra_hosts:
- 'dockerhost:'
- 'windowshost:'

Так что в приведенном выше выводе я вижучто он читает файл, но после этого, как я могу использовать его внутри extra_hosts?

1 Ответ

1 голос
/ 01 октября 2019

Конфигурация env_file передает переменные среды из внешнего файла в контейнер службы. См. Параметр конфигурации «env_file» .

extra_hosts в вашем файле docker-compose.yml использует подстановка переменных .

Composeиспользует значения переменных из среды оболочки, в которой выполняется docker-compose.

Чтобы настроить IP-адреса для extra_hosts, вы можете установить значения в .env сохраните файл или экспортируйте их (например, export DOCKER_HOST_IP=192.168.99.100) в оболочку с docker-compose.

Можно установить значения по умолчанию для переменных среды, используя файл .env. Значения, установленные в среде оболочки, переопределяют значения, заданные в файле .env.

Содержимое файла .env:

DOCKER_HOST_IP=192.168.99.100
WINDOWS_HOST_IP=192.168.99.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...