我有一个通配符 DNS 设置,以便所有的网络请求,以自定义域(* 。Foo)映射到 Docker 主机的 IP 地址。如果有多个容器运行 Apache (或 Nginx)实例,则每个容器将 Apache 端口(80)映射到某个外部入站端口。
我想要做的是向容器 -1发出请求。Foo,它已经通过我的自定义 DNS 服务器映射到正确的 IP 地址(Docker 主机的 IP 地址) ,但是代理默认端口80请求到正确的 Docker 外部端口,这样来自指定容器的正确的 Apache 实例就能够基于自定义域进行响应。同样,容器 -2也是如此。Foo 将代理另一个容器的 apache,以此类推。
是否有一个预先构建的解决方案,是否我最好的选择是在 Docker 主机上运行 Nginx 代理,或者我应该写一个 node.js 代理来管理 Docker 容器(通过 web 启动/停止/重建) ,或者... ?我有什么选择可以让使用 Docker 容器更像一个自然事件,而不是一些无关的端口和容器杂耍?