我正在使用 docker 运行多个 MySQL 实例。我打算使用 nginx 作为反向代理服务器,我想为每个实例分配公共(public) IP,这样我就可以将公共(public) IP 映射到我的 docker 网络,这可能吗?
最佳答案
您可能希望将 consul 与注册表部分一起使用,因为 Consul 为所有注册实例提供了一个 DNS 服务器:https://www.consul.io/docs/agent/dns.html
或多或少这意味着,docker实例向consul注册,consul也可以为外部服务解析它们。但这需要您拥有多个公共(public) IP。
如果你只想要一个公共(public)IP,你显然想要对mysql进行负载平衡,因为TCP连接不能通过路径/域“路由”。 也就是说,您可以使用 consul 作为服务发现,并使用tiller+consul 后端为上游生成 nginx 配置,列出所有当前可用的服务器
关于networking - 一个 Nginx 可以使用多个公共(public) IP 地址吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41482952/