搬运工,撰写忽略`CONFIGS:`部分
问题描述:
我有一个CONFIGS段泊坞窗,撰写服务定义如下:搬运工,撰写忽略`CONFIGS:`部分
# 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本身不会报告任何错误。)
是否configs
部分不支持普通docker-compose
的用法?
的文档没有明确这么说虽然有些措辞似乎表明这是唯一的堆栈:
注:配置必须存在,否则在这个堆栈的*CONFIGS配置中定义文件或堆栈部署将失败。
答
配置和秘密通过使用swarm模式提供的嵌入式raft key值存储来实现。这些功能对于不作为群集模式一部分运行的容器不可用,所以它们将被docker-compose忽略。
https://docs.docker.com/engine/swarm/configs/#about-configs
注:泊坞CONFIGS只提供给一窝蜂服务,而不是到独立的容器。要使用此功能,请考虑调整您的容器作为1级服务运行。