4

Я пытаюсь запустить 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, чтобы указать на несуществующий файл и никаких ошибок не возникает. Кажется, что докер полностью игнорирует этот вариант.

ответ

2

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

+1

Как вы обновляете докер? У меня есть последняя версия Docker 17.06.0, а docker-compose - 1.14.1. – ChrisRich

+0

Я также составляю в 1.14.0 и докер в 17.05, но не могу заставить переменные среды работать в файле docker-compose. – Lion

Смежные вопросы