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