Docker compose не распознает env_file

Я пытаюсь запустить docker-compose up со следующей конфигурацией:

php:
    image: php:7.0-fpm
    expose:
        - 9000
    links:
        - nginx

nginx:
    env_file: .env
    image: nginx:latest
    ports:
        - 80:80
        - 433:433
    environment:
        - NGINX_HOST: ${APP_URL}

mysql:
    env_file: .env
    image: mysql:latest
    ports:
        - 3306:3306
    environment:
        - MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
        - MYSQL_DATABASE: ${DB_DATABASE}
        - MYSQL_USER: ${DB_USERNAME}
        - MYSQL_PASSWORD: ${DB_PASSWORD}
        - MYSQL_ALLOW_EMPTY_PASSWORD: no

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

ВНИМАНИЕ: переменная APP_URL не задана. По умолчанию пустая строка.

ВНИМАНИЕ: переменная DB_PASSWORD не задана. По умолчанию пустая строка.

ВНИМАНИЕ: переменная DB_DATABASE не задана. По умолчанию пустая строка.

ВНИМАНИЕ: переменная DB_USERNAME не установлена. По умолчанию пустая строка.

ОШИБКА: не удалось проверить файл ./docker-compose.yaml.


ОБНОВЛЕНИЕ

Я просто изменил значение env_file, чтобы указать на несуществующий файл, и никаких ошибок не возникает. Похоже, докер полностью игнорирует эту опцию.


person Dov Benyomin Sohacheski    schedule 23.06.2016    source источник


Ответы (2)


Как и многие другие проблемы, связанные с версией, обновление до v1.7.1 docker-compose решило проблему, работает как шарм!

person Dov Benyomin Sohacheski    schedule 23.06.2016
comment
Как вы обновляете docker-compose? У меня последняя версия Docker 17.06.0, а docker-compose - 1.14.1. - person ChrisRich; 14.08.2017
comment
У меня также есть compose в 1.14.0 и docker в 17.05, но я не могу заставить переменные среды работать в файле docker-compose. - person Lion; 04.02.2018

У меня возникла эта проблема, потому что я не запускал $docker-compose up из того же каталога, что и мои файлы .env и docker-compose.yml. Команда по-прежнему может найти docker-compose.yml файл с помощью поиска, но также не ищет в этом месте файл .env.

person mikeLundquist    schedule 16.07.2019