如何对多个 docker-compose.yml 文件使用 'docker-compose config'

How to use 'docker-compose config' with more than one docker-compose.yml file

我正在使用 docker-compose.yml 文件版本 3.x (3.9) 并使用 .env 文件将变量解析为 docker-compose.yml.

Docker 说我可以使用 docker config 查看配置如何使用。 (此处:https://docs.docker.com/engine/reference/commandline/config/

为了创建我的开发环境,我使用了两个文件 dc.ymldc.dev.yml,其中 dc.dev.yml 添加了一些环境变量。

.env

A_NEW_VARIABLE=some_new_value

dc.yml

services:
  api:
    build: .
    environment: 
      - ENV_VARIABLE=old_test

dc.dev.yml

services:
  api:
    build: .
    environment: 
      - ENV_VARIABLE=${A_NEW_VARIABLE}

我经常使用

docker-compose up --file docker-compose.yml --file docker-compose.dev.yml

docker-compose up -f ./docker-compose.yml -f ./docker-compose.dev.yml

但是当我尝试使用 docker-compose config 测试我的配置时,只有 dc.yml 会被拾取并且结果仍然是:

services:
  api:
    build: .
    environment: 
      - ENV_VARIABLE=old_test # <-- This Value should come from dc.dev.yml

我试图将文件解析为 docker-compose config -f dc.dev.yml

好像不行。我说得对吗?

将您的命令重写为:docker-compose -f dc.dev.yml config

首先是要检查的文件,然后是docker命令。