Docker compose Docker Compose显然忽略了Compose\u文件
我有两个docker compose配置YAML,如下所示: docker-compose.yml:Docker compose Docker Compose显然忽略了Compose\u文件,docker-compose,Docker Compose,我有两个docker compose配置YAML,如下所示: docker-compose.yml: version: '2' services: web: &web build: . environment: FOO: bar docker-compose.development.override.yml: version: '2' services: web: &web build: . environment: FOO: biz
version: '2'
services:
web: &web
build: .
environment:
FOO: bar
docker-compose.development.override.yml:
version: '2'
services:
web: &web
build: .
environment:
FOO: biz
当我查看容器中$FOO
的值时,我没有看到我期望的值:
bdares$ COMPOSE_FILE=./docker-compose.yml:./docker-compose.development.override.yml
bdares$ docker-compose run --rm web bash
docker$ echo $FOO
bar
bdares$ docker-compose -f ./docker-compose.yml \
> -f ./docker-compose.development.override.yml \
> run --rm web bash
docker$ echo $FOO
biz
当我显式设置compose文件时,我看到了我期望的值:
bdares$ COMPOSE_FILE=./docker-compose.yml:./docker-compose.development.override.yml
bdares$ docker-compose run --rm web bash
docker$ echo $FOO
bar
bdares$ docker-compose -f ./docker-compose.yml \
> -f ./docker-compose.development.override.yml \
> run --rm web bash
docker$ echo $FOO
biz
这对我来说意味着,docker compose
没有遵守所声称的compose\u文件
环境变量
我可能做错了什么
版本信息:
- docker compose 1.8.0版
- Docker版本1.11.0
export COMPOSE_FILE=./docker-compose.yml:./docker-compose.development.override.yml
docker-compose run --rm web bash
或
您正在使用bashshell吗?根据您使用的shell,您可以尝试将环境变量用双引号FOO=“bar:baz”括起来。如果您从外部docker回显env变量,它是否正确返回?您可能需要
导出COMPOSE_FILE
以使其工作,或者将命令移到设置值的同一行上。