docker - Docker swarm - 在许多管理器的情况下的请求流
问题描述
正如我们在 docker swarm 中所知道的,我们可以拥有多个管理器。假设我们有 2 个节点和 2 个管理器(因此每个节点既是管理器又是工作器)。
现在,让客户端(使用 CLI 工具)执行以下两个单独的场景:
1. docker create service some_service
2.docker update --force some_service
在其中一个集群节点上启动客户端。
上述请求将发送到哪里?只对领导者还是对每个工作节点?docker如何处理并发请求?
解决方案
我假设您正在谈论与 manager api 交谈的 docker cli。
节点上的 docker cli 将默认连接到 localhost。假设您是经理,您可以看到您的 cli 正在与哪个节点通信docker node ls
。
节点名称旁边的*
表示您正在与之交谈的那个。
如果该节点不是领导者,它将从那里将命令中继到领导者节点并等待响应返回到您的 cli。这一切都意味着:
- 只需确保您在管理器节点上运行 docker cli,或者您的 cli配置为与一个.
- 哪个经理无关紧要,因为他们都会将您的命令传递给当前的领导者。
推荐阅读
- c# - 单击 html 元素时执行代码而不重定向或重新加载页面
- python - keras flow_from_directory 返回 0 张图片
- wordpress - 从特定页面中删除特定小部件
- python - 为什么 MailMerge 对象无法转换为 Unicode?是否有可靠的方法在 Python 中打印模板文档?
- javascript - 在 Dynamics 365 中使用 ADAL.js 获取没有弹出窗口的令牌
- pandas - 用 91 替换手机号码中的前导零
- javascript - 如何检查我的按钮是否在 JavaScript 中被点击?
- ember.js - 更新模型时如何将signed_id传递/隐藏到Rails API控制器
- docker - 如何使用 Dockerfile 在启动 docker 容器上运行 jboss-cli
- excel - 循环遍历 2 个数组 - 在表中查找 Header 然后将值粘贴到正确的位置