所以我在Docker群上运行了一个Plex服务器!!如果我神奇地杀死一个节点,它将在其他地方启动Plex。这很棒!现在来了有趣的部分...
使用旧式容器我只需将我的路由器上的端口32400移植到运行Plex的服务器上,它就能找到工作。既然Plex可以在多个不同的地方运行,我需要弄清楚如何将端口转发到某个静态资源。我可以使用HAProxy绑定一些桥接接口并在每个节点上运行它以提供故障转移...但我想看看是否有更简单的方法来实现这一点。
在Docker Swarm中将端口转发到服务的最佳方式是什么?
答案 0 :(得分:1)
端口转发内置于新的群组模式中。文档中有section on load balancing:
群集管理器使用入口负载平衡来公开服务 你想在swarm外部提供。群体经理 可以自动为已发布的服务分配服务 为30000-32767范围内的服务配置PublishedPort。
外部组件(如云负载均衡器)可以访问 无论是否在集群中的任何节点的PublishedPort上提供服务 节点当前正在运行该服务的任务。所有节点 群集群集路由到正在运行的任务的入口连接 实例
Swarm模式有一个自动分配的内部DNS组件 群中的每个服务都是一个DNS条目。群体管理器使用内部 负载均衡以在服务中的服务之间分配请求 基于服务的DNS名称的集群。
以下文章讨论了如何将代理负载均衡器集成到docker引擎