我正在尝试了解如何在 VMWare 主机上运行的 Docker 群集上运行多个 Web 应用程序。以及如何让外部 DNS 解析为随机分配以运行单个 docker-compose 应用程序的容器的 IP 地址。标签和其他解决方案是答案吗?
以下是示例设置:
- VMWare 主机 1
- Docker Swarm 管理器主节点(dsm-0)
- VMWare 主机 2
- Docker Swarm 管理器副本(dsm-1)
- VMWare 主机 3
- Docker 代理 1(da-0)
- Docker 代理 2(da-1)
- Docker 代理 3(da-2)
- Docker 代理 4(da-3)
我将拥有两个覆盖网络 webapp-1-net 和 webapp-2-net。然后,我将获得假设的 webapp-1 和 webapp-2 的 Docker 映像。我将使用特定的覆盖网络从活动 Swarm 管理器在 Docker Swarm 上运行这些映像。然后,它们将被随机分配给其中一个 Docker 代理。这就是我的理解变得不稳定的地方。我知道我可以手动拉回分配给 Docker 代理的任何 IP,并通过这种方式访问 Web 应用程序。但是,如何创建与 VMWare 主机级别相同的外部 DNS/网络系统,以及如何使主机本身了解在 Docker 代理上运行的各种应用程序,并将子域(如 webapp1.example.com)路由到正确的容器或 webapp2.example.com?