docker-swarm - ip address eth0显示多个地址

时间:2016-10-14 10:33:31

标签: networking docker-swarm

我在群集模式下使用docker 1.12.1。

当我运行以下命令时: docker network create --driver overlay --subnet 10.0.9.0/24 --opt encrypted services 然后 docker service create --name nginx nginx

在正在运行的容器中执行命令ip address(在正确的节点上),结果是

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 234: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1424 qdisc noqueue state UP group default link/ether 02:42:0a:00:09:03 brd ff:ff:ff:ff:ff:ff inet 10.0.9.3/24 scope global eth0 valid_lft forever preferred_lft forever inet 10.0.9.2/32 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:aff:fe00:903/64 scope link valid_lft forever preferred_lft forever 236: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:12:00:03 brd ff:ff:ff:ff:ff:ff inet 172.18.0.3/16 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe12:3/64 scope link valid_lft forever preferred_lft forever

可以请任何人解释一下,为什么eth0在这种情况下有两个IP地址10.0.9.3/2410.0.9.2/32

这会导致问题,因为当我运行更多实例时,会有重叠的地址会破坏我正在运行的服务。

1 个答案:

答案 0 :(得分:1)

一个是VIP,用于服务。

另一个是节点地址,仅供内部使用。从APP的角度来看,他们应该使用服务IP。