我试图使用以下配置运行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文件,能够在shell中测试变量,但是docker似乎没有加载.env。
警告:未设置APP_URL变量。默认为空字符串。 警告:未设置DB_PASSWORD变量。默认为空字符串。 警告:未设置DB_DATABASE变量。默认为空字符串。 警告:未设置DB_USERNAME变量。默认为空字符串。 ERROR:验证在文件‘./docker-come.yaml’中失败
更新
我只是将env_file值更改为指向一个不存在的文件,并且不会引发任何错误。看来码头工人完全忽略了这个选项。
发布于 2016-06-23 06:20:06
像许多其他版本相关的问题,更新到v1.7.1的docker-compose解决了这个问题,工作起来很有魅力!
发布于 2019-07-16 20:54:07
我之所以遇到这个问题,是因为我没有从与.env和docker-compose.yml文件相同的目录中运行docker-compose.yml。命令仍然可以通过搜索找到docker-compose.yml文件,但它也不会搜索.env文件的位置。
https://stackoverflow.com/questions/37982317
复制相似问题