【发布时间】:2018-03-18 22:57:42
【问题描述】:
所以我在 Azure 的 vm 上运行了 docker,我有 5 个不同的公共 ipv4 地址分配给这个实例,主机级别的私有 ips 在 eth0 上是 172.16.0.4 - 172.16.0.8。
在我的 node.js 应用程序中,我想发出一个 http 请求,但在这 5 个 ips 之间进行负载平衡,所以当我发出请求时,我为每个要绑定的请求选择不同的 172.x ips,但我' m 获取:错误:绑定 EADDRNOTAVAIL 172.16.0.4 等
我需要做些什么来允许 docker 容器实例访问这些 ip?
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:73:c1:f2 brd ff:ff:ff:ff:ff:ff
inet 172.16.0.4/24 brd 172.16.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet 172.16.0.5/24 brd 172.16.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet 172.16.0.6/24 brd 172.16.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet 172.16.0.7/24 brd 172.16.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet 172.16.0.8/24 brd 172.16.0.255 scope global secondary eth0
valid_lft forever preferred_lft forever
【问题讨论】:
-
如何在 Azure 上为此进行公共 IP 映射?我习惯于 AWS EIP 到接口设置,但如果您可以映射到任意后端 IP,那么在 Docker 中设置会更容易。
标签: docker networking ipv4