【发布时间】:2017-09-13 08:01:40
【问题描述】:
我有一个带有配置部分的 docker-compose 服务定义,如下所示:
# 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 ... 部署它时,配置文件被正确地提供到正在运行的容器中。
但是,当我尝试通过docker-compose -f api.yml up 运行本地版本的 api 时,我得到一个启动失败,抱怨我的 api 服务找不到它的配置。 (注意:docker-compose 本身不会报告任何错误。)
普通的docker-compose 用法不支持configs 部分吗?
文档没有明确说明,尽管某些措辞似乎表明这仅适用于堆栈:
注意:该配置必须已经存在或定义在此堆栈文件的顶级配置配置中,否则堆栈部署将失败。
【问题讨论】:
-
你是怎么处理的?有什么解决方法可以在 Docker Compose 中使用 Swarm 中的 Docker Configs 部分?每次都要修改本地的
yml文件吗? -
已经有一段时间了,但 IIRC 我想我只是把我的本地环境变成了一个单节点群。
标签: docker docker-compose docker-swarm