将公共/外部IP路由到docker容器

时间:2017-05-29 16:17:18

标签: google-cloud-platform

我正在使用flanneld运行coreos。单个主机可能有多个容器在端口80上运行Web服务器。我想将静态IP路由到容器。

架构如下。

Docker Host(CoreOS)内部IP 10.20.0.1 这个主人有3个nginx容器,坐在 - 172.16.20.1 - 172.16.20.2 - 172.16.20.3

我的Google云VPC仅在主机网络级别指定,docker网络在带有法兰绒的coreos etcd2群集中指定。

我想保留一个静态IP地址,并将所有来自/来自公共IP的流量路由到其中一个容器IP地址。

例如; 104.89.255.255(公开)< - > 172.16.20.1

这对GCE来说有可能吗?

我能够在内部实现这一点,我的网站到站点vpn。但是,容器上的某些站点需要公开访问。

非常感谢提供的任何方向。

谢谢,

1 个答案:

答案 0 :(得分:0)

您目前无法将多个外部IP连接到单个VM,但您可以使用负载均衡器,让它向您的VM发送流量,但为不同的服务发送到不同的端口。

HTTP负载均衡器可以轻松托管所有站点位于同一IP后面,并根据主机标头或请求路径引导流量。

此处有更多文档:https://cloud.google.com/compute/docs/load-balancing/http/