如何配置负载平衡器后面的Docker容器?
我的IT基础设施部门为我提供了以下设置:在3台虚拟机(vm01、vm02、vm03)前面安装netscaler负载平衡器(lb)。每个虚拟机都是使用IIS安装的 我在所有三个虚拟机上安装了Docker引擎,并在所有三个虚拟机上复制了相同的3个容器(appcontainer1、appcontainer2、appcontainer3)。每个容器都包含一个.NET核心Web API应用程序(api1、api2、api3) 每个容器都配置为公开其端口80以访问api,并映射到其运行的虚拟机上的一个端口。换句话说,appcontainer1与如何配置负载平衡器后面的Docker容器?,docker,load-balancing,httpserver,Docker,Load Balancing,Httpserver,我的IT基础设施部门为我提供了以下设置:在3台虚拟机(vm01、vm02、vm03)前面安装netscaler负载平衡器(lb)。每个虚拟机都是使用IIS安装的 我在所有三个虚拟机上安装了Docker引擎,并在所有三个虚拟机上复制了相同的3个容器(appcontainer1、appcontainer2、appcontainer3)。每个容器都包含一个.NET核心Web API应用程序(api1、api2、api3) 每个容器都配置为公开其端口80以访问api,并映射到其运行的虚拟机上的一个端口。
docker run-p8091:80一起运行。
,appcontainer2与docker run-p8092:80一起运行。
,appcontainer3与docker run-p8093:80一起运行。
我遇到的问题是如何从客户机调用我的web应用程序。例如,如果我想在vm01上直接调用ap1,我会调用vm01.domain.com:8091,但是如何调用lb.domain.com:8091并在其中一个虚拟机上正确解析它
一张粗略拼凑起来的绘画图:
- 我是否将netscaler负载平衡器配置为反向代理并将端口转发到虚拟机李>
- 我是否为每个应用程序(ap1.domain.com、ap2.domain.com、api3.domain.com)配置单独的DNS条目,并在每个虚拟机上配置IIS(或nginx或Apache)以解析到适当的端口
- 有没有办法配置Docker来实现这一点
- 我是不是做错了,想得太多了
- 我应该使用某种容器编排吗
- 有没有一种明智的方法可以做到这一点,而不必麻烦基础架构团队重新配置所有内容
- WS2019
- WS2016 1709更新或更高版本(这些没有GUI)
- Windows101709更新