Docker在不同容器中运行相同的VPN服务并对这些请求进行负载平衡

时间:2017-09-05 07:20:24

标签: docker dockerfile vpn

我正在尝试设置一个基本上在docker中运行VPN服务器的映像。现在,此VPN服务器默认侦听端口443.多个客户端可以连接到此VPN服务器以访问公司网站。如何生成多个docker容器,每个容器运行相同的VPN服务器,但映射到主机上的公共端口443?并对这些容器的请求进行负载均衡?我理解nginx是一个反向代理,但这对原始tcp / udp请求是否也适用,这是我试图实现的用例?

现在,我已经启动并运行了一个映像,并且在运行此容器时使用-p 443:443并将传入的请求路由到此容器。我想创建此容器的多个副本,然后对传入的tcp / udp请求进行负载均衡。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

使用Docker swarm可以最好地解决问题。您需要创建一个泊坞窗服务。该服务允许您创建容器的多个实例。

Swarm还内置了对负载均衡的支持。它默认提供DNS round robbin负载平衡

docker swarm init
docker service create --replicas 5 -p 443:443 <image-name> <service-name>