我使用docker运行MySQL的多个实例。我计划使用nginx作为反向代理服务器,我想为每个实例分配公共IP,这样我就可以将公共IP映射到我的docker网络,这可能吗?
答案 0 :(得分:2)
您可能希望将consul用于注册表部分,因为Consul为您提供了所有已注册实例的DNS服务器:https://www.consul.io/docs/agent/dns.html
或多或少这意味着,docker实例向consul注册,而consul也可以为extern服务解析它们。这将要求您拥有多个公共IP。
如果你只想要一个公共ip,你显然想要对mysql进行负载均衡,因为TCP连接不能被"路由"按路径/域名。 也就是说,您可以使用consul作为服务发现和tiller + consul后端为您生成上游的nginx配置,列出所有当前可用的服务器
答案 1 :(得分:1)
您可以简单地使用私有地址空间中的保留IP作为docker容器,通过设置public ip使您的nginx实例可以从Internet上路由,最后您可以将请求加载到docker容器。