docker-compose忽略`configs:`部分

我有一个docker-compose服务定义,configuration部分如下:

# api.yml file version: '3.3' services: api: ... configs: - source: api_config target: /env.cfg configs: api_config: file: ./config/my.cfg 

当我使用这个文件来驱动一个群,也就是我用docker stack deploy ...部署它时,configuration文件被正确地提供到正在运行的容器中。

但是,当我尝试通过docker-compose -f api.yml up运行api的本地版本时,我得到一个启动失败,抱怨我的api服务无法find它的configuration。 (注意:docker-compose本身不会报告任何错误。)

普通的docker-compose用法不支持configs部分吗?

虽然有些措词似乎表明这只适用于堆栈,但文档并没有明确地这样说:

注意:configuration必须已经存在,或者在该堆栈文件的顶层configurationconfiguration中定义,否则堆栈部署将失败。

使用群模式提供的embedded式密钥值存储来实现configuration和秘密。 这些function对于不作为群集模式一部分运行的容器不可用,所以它们将被docker-compose忽略。

https://docs.docker.com/engine/swarm/configs/#about-configs

注意:Dockerconfiguration仅适用于群集服务,而不适用于独立容器。 要使用此function,请考虑调整您的容器作为1级服务运行。