docker-compose: файл .env не загружен - PullRequest
0 голосов
/ 01 ноября 2019

Мой docker-compose.yml

version: '3'
services:
  test:
    build: .

Мой Dockerfile

FROM alpine:latest
ENTRYPOINT echo $ARG1 $ARG2

Мой .env файл

ARG1=argument100
ARG2=argument200

Если я запускаю docker-compose run testпустая строка была напечатана. Однако, я добавляю env_file раздел к своему docker-compose.yml Я получаю ожидаемый вывод.

Новый docker-compose.yml

version: '3'
services:
  test:
    build: .
    env_file:
    - .env

Запуск docker-compose снова

$ docker-compose run test
argument100 argument200

Использую ли я недопустимый способ передачи аргументов команде ENTRYPOINT внутри Docker? Почему .env не загружается автоматически при docker-compose run?

1 Ответ

0 голосов
/ 01 ноября 2019

Файл .env используется для установки переменных в самой команде docker-compose, которая может использоваться для расширения переменных в самом файле docker-compose.yml. Спецификация env_file будет определять переменные внутри контейнеров. Они работают на двух разных уровнях.

Существует также третий тип переменных - аргументы сборки, которые могут быть введены в построение изображения.

Каждый из них имеет свою цель, ине много способов сделать одно и то же.

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