4

我试图运行docker-compose up具有以下配置:泊坞窗撰写不承认“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的码头工人,谱曲解决了这个问题,就像一个魅力!

+1

你如何更新码头构成?我有最新版本的Docker 17.06.0和docker-compose是1.14.1 – ChrisRich

+0

我也在1.14.0和17.05中编写了docker,但无法在docker-compose文件中获取环境变量。 – Lion

相关问题