【问题标题】:Multiple public IP addresses to one Nginx?一个Nginx的多个公共IP地址?
【发布时间】:2017-05-19 20:57:43
【问题描述】:

我正在使用 docker 运行多个 MySQL 实例。我打算使用 nginx 作为反向代理服务器,我想为每个实例分配公共 IP,这样我就可以将公共 IP 映射到我的 docker 网络,这可能吗?

【问题讨论】:

    标签: networking nginx docker docker-networking


    【解决方案1】:

    您可以简单地将私有地址空间中的保留 IP 用于 docker 容器,通过设置公共 ip 使您的 nginx 实例可从 Internet 路由,最后您可以对 docker 容器的负载平衡请求。

    【讨论】:

    • 谢谢。我不想使用负载均衡器,我只是想使用 Nginx 作为公共 IP 跳转服务器。
    • 负载均衡器就是这样,无论您使用 TCP 还是 HTTP 连接。
    【解决方案2】:

    您可能希望将 consul 与注册表部分一起使用,因为 Consul 为您提供了所有已注册实例的 DNS 服务器:https://www.consul.io/docs/agent/dns.html

    这或多或少意味着,docker 实例向 consul 注册,并且 consul 也可以为外部服务解析它们。不过,这将要求您拥有多个公共 IP。

    如果你只想要一个公共 ip,你显然想要负载平衡 mysql,因为 TCP 连接不能通过路径/域“路由”。 也就是说,您可以使用 consul 作为服务发现和 tiller+consul 后端为上游生成您的 nginx 配置,列出所有当前可用的服务器

    【讨论】:

    • 你的权利我想使用多个公共 IP 与我的 Nginx 服务器通信,以便我可以将每个公共 IP 路由到 docker 实例。我会调查领事谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多