Я пытаюсь запустить docker-compose up
со следующей конфигурацией:Docker Compose не признает «env_file»
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'
UPDATE
Я просто изменил значение env_file
, чтобы указать на несуществующий файл и никаких ошибок не возникает. Кажется, что докер полностью игнорирует этот вариант.
Как вы обновляете докер? У меня есть последняя версия Docker 17.06.0, а docker-compose - 1.14.1. – ChrisRich
Я также составляю в 1.14.0 и докер в 17.05, но не могу заставить переменные среды работать в файле docker-compose. – Lion