Docker compose 无法识别 'env_file'
Docker compose doesn't recognize '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
文件,我可以测试 shell 中的变量,但是 docker 似乎没有加载 .env
.
WARNING: The APP_URL variable is not set. Defaulting to a blank string.
WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The DB_DATABASE variable is not set. Defaulting to a blank string.
WARNING: The DB_USERNAME variable is not set. Defaulting to a blank string.
ERROR: Validation failed in file './docker-compose.yaml'
更新
我只是将 env_file
值更改为指向一个不存在的文件并且没有抛出任何错误。似乎 docker 完全忽略了该选项。
像许多其他版本相关的问题一样,更新到 docker-compose 的 v1.7.1 解决了这个问题,有效就像一个魅力!
我遇到这个问题是因为我 运行 $docker-compose up
与我的 .env
和 docker-compose.yml
文件不在同一目录中。该命令仍然可以通过搜索找到 docker-compose.yml
文件,但它不会在该位置搜索 .env
文件。
我正在尝试 运行 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
.
WARNING: The APP_URL variable is not set. Defaulting to a blank string.
WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The DB_DATABASE variable is not set. Defaulting to a blank string.
WARNING: The DB_USERNAME variable is not set. Defaulting to a blank string.
ERROR: Validation failed in file './docker-compose.yaml'
更新
我只是将 env_file
值更改为指向一个不存在的文件并且没有抛出任何错误。似乎 docker 完全忽略了该选项。
像许多其他版本相关的问题一样,更新到 docker-compose 的 v1.7.1 解决了这个问题,有效就像一个魅力!
我遇到这个问题是因为我 运行 $docker-compose up
与我的 .env
和 docker-compose.yml
文件不在同一目录中。该命令仍然可以通过搜索找到 docker-compose.yml
文件,但它不会在该位置搜索 .env
文件。