如何在Rancher Cattle中将容器的单个公共(public)端口映射为几个私有(private)端口以使端口沉没?也许我应该编写自定义HAProxy配置?

例如:

5555/tcp -> 5555/tcp
5555/tcp -> 5556/tcp
5555/tcp -> 5557/tcp
5555/tcp -> 5558/tcp

最佳答案

您想要的是在Rancher中轻松实现的。

实现此目的的方法之一:

  • Rancher中的“添加堆栈”
  • “添加服务” one(具有在端口5555上运行的tcp服务)到堆栈。
  • “添加服务” two(具有在端口5556上运行的tcp服务)到堆栈。
  • “添加服务” three(具有在端口5557上运行的tcp服务)到堆栈。
  • “添加服务” four(具有在端口5558上运行的tcp服务)到堆栈。
  • “添加负载均衡器”到此堆栈并进行配置。
  • 将带有协议(protocol)的协议(protocol):tcp,端口:带有目标的5555添加到one
    端口:5555
  • 将带有协议(protocol)的规则规则:tcp,端口:带有目标的5555two,端口:5556
  • 将带有协议(protocol)的规则规则:tcp,端口:带有目标的5555three,端口:5557
  • 将带有协议(protocol)的规则规则:tcp,端口:带有目标的5555four,端口:5558

  • 如果希望此负载均衡器在所有主机上运行,​​则可以在创建负载均衡器服务时选择该选项。

    同样,如果您的服务在HTTP而不是TCP上运行,则也可以使用该选项。

    手动完成此操作后,您可以“查看配置”以获取docker-compose.ymlrancher-compose.yml文件。您可以使用它们来创建您的自定义目录项,然后一键部署!

    请查看community-catalog以获得灵感,并查看docs获得说明。

    关于docker - 为Rancher的一些私有(private)容器映射公共(public)容器港口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43122663/

    10-16 16:31