Docker compose Docker Compose显然忽略了Compose\u文件

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

我有两个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
当我查看容器中
$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
以使其工作,或者将命令移到设置值的同一行上。