如何通过编织覆盖网络将静态IP地址设置为运行到Swarm的容器?

时间:2016-02-17 14:21:32

标签: docker docker-swarm weave

TL; DR:Swarm 1.0.0中出现的错误,在Swarm 1.1.0中解决。

在四个群集代理群集上,使用weave plugin

运行自定义覆盖网络
user@swarm-master:~$swarm-docker network create --driver weave --subnet 192.168.0.0/16 custom-weave

但是,使用此命令及其输出,我们可以看到一个问题:

user@swarm-master:~$ swarm-docker run --rm -it --net=custom-weave --ip=192.168.0.5 debian:jessie bash -c "ip addr     show"
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    [ . . ]
74: ethwe0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1410 qdisc noqueue state UP group default 
    link/ether ee:c2:9c:6c:c3:6c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/16 scope global ethwe0
       valid_lft forever preferred_lft forever
    inet6 fe80::ecc2:9cff:fe6c:c36c/64 scope link tentative 
       valid_lft forever preferred_lft forever
76: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state DOWN group default 
    [ . . ]

设置了用户定义的--net选项以及--ip=192.168.0.5。虽然预期容器的ethwe0接口IP地址设置为 192.168.0.5 ,但实际上设置为 192.168.0.2

问题:这个过程出了什么问题?

没有,只是自版本1.1.0以来解决了一个错误。

1 个答案:

答案 0 :(得分:0)

正如vieux对此GH issue所述,这是Swarm 1.0.0中的一个错误。该错误已在Swarm 1.1.0中解决。