sas*_*sas 6 docker docker-compose docker-swarm
我有一个带有 configs 部分的 docker-compose 服务定义,如下所示:
# api.yml file
version: '3.3'
services:
api:
...
configs:
- source: api_config
target: /env.cfg
configs:
api_config:
file: ./config/my.cfg
Run Code Online (Sandbox Code Playgroud)
当我使用这个文件来驱动一个群时,即我部署它时docker stack deploy ...
配置文件被正确提供到正在运行的容器中。
但是,当我尝试通过运行本地版本的 api 时,docker-compose -f api.yml up
我收到启动失败,抱怨我的 api 服务找不到其配置。(注意:docker-compose 本身不会报告任何错误。)
是configs
部分不与普通支持docker-compose
使用?
尽管有些措辞似乎表明这仅适用于堆栈,但文档并未明确说明:
注意:config 必须已经存在或已在此堆栈文件的顶级 configs 配置中定义,否则堆栈部署将失败。
配置和秘密是使用群模式提供的嵌入式 raft 键值存储实现的。这些功能对尚未作为 swarm 模式的一部分运行的容器不可用,因此它们将被 docker-compose 忽略。
https://docs.docker.com/engine/swarm/configs/#about-configs
注意:Docker 配置仅适用于 swarm 服务,不适用于独立容器。要使用此功能,请考虑调整您的容器以作为规模为 1 的服务运行。
归档时间: |
|
查看次数: |
1792 次 |
最近记录: |