【发布时间】:2023-03-30 15:25:01
【问题描述】:
我有一个通过webrtc 提供流的服务器,我让它在 docker swarm 中作为复制(全局或副本)服务运行。
当我尝试在自定义覆盖网络(群范围)中运行服务时,webrtc 连接总是失败。我知道这是网络,因为 ICE 协议无法检索到正确的候选者,而且我只暴露了一个端口,我猜数据包无法进入覆盖网络。
然后我将服务放在主机网络上运行,一切正常。但是,现在我没有从 docker 获得自动负载平衡(因此,如果我在 IP x.x.x.x:8080 上调用应用程序,它将始终只到达该节点上运行的副本)。
那么我如何才能对运行在 swarm 的多个节点上但在主机网络中的服务进行负载平衡呢?
【问题讨论】:
-
Docker 文档(令人惊讶地)对此保持沉默,但我也有同样的怀疑:那是
--network host不会发生入口负载平衡。 Docker 不知道在监听哪些端口??无论如何,很高兴能对此进行确认。
标签: docker webrtc load-balancing docker-swarm