Docker 如何将静态IP地址设置为通过weave overlay网络运行到群集的容器?
TL;DR:SwarmDocker 如何将静态IP地址设置为通过weave overlay网络运行到群集的容器?,docker,docker-swarm,weave,Docker,Docker Swarm,Weave,TL;DR:Swarm1.0.0中存在的缺陷,在Swarm1.1.0中解决 在四个swarm Agent群集上,一个自定义覆盖网络通过以下方式运行: 但是,通过此命令及其输出,我们可以看到一个问题: 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,LOW
1.0.0
中存在的缺陷,在Swarm1.1.0
中解决
在四个swarm Agent群集上,一个自定义覆盖网络通过以下方式运行:
但是,通过此命令及其输出,我们可以看到一个问题:
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
[ . . ]
user@swarm-master:~$swarm docker run--rm-it--net=custom weave--ip=192.168.0.5 debian:jessie bash-c“ip地址秀”
1:lo:mtu 65536 qdisc noqueue状态未知组默认值
[ . . ]
74:ethwe0:mtu 1410 qdisc noqueue状态向上组默认值
链路/以太ee:c2:9c:6c:c3:6c brd ff:ff:ff:ff:ff:ff:ff
inet 192.168.0.2/16范围全局ethwe0
永远有效\u lft首选\u lft永远有效
inet6 fe80::ecc2:9cff:fe6c:c36c/64范围链接暂定
永远有效\u lft首选\u lft永远有效
76:eth1:mtu 1500 qdisc noqueue状态关闭组默认值
[ . . ]
设置用户定义的--net
选项以及--ip=192.168.0.5
。虽然容器预期将其ethwe0
接口IP地址设置为192.168.0.5,但实际设置为192.168.0.2
问题:这个过程有什么问题?
没什么,只是自从版本
1.1.0
以来解决了一个bug。正如上面所述,这是Swarm1.0.0
中的一个bug。Swarm1.1.0
解决了这个错误。我已经尝试了--net
和--ip
选项,用于手动创建的网络,该网络带有docker附带的桥接驱动程序,工作正常(实际上仍然如此)。由于这个--ip
相对较新,可能weave插件没有更新,或者根本没有以正确的方式处理这个问题……您在swarm中尝试过吗?当我尝试在swarm中使用默认覆盖时,它也不起作用。不,没有尝试swarm,只是启动了3个容器(此外-我使用了--为每个容器添加主机)
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
[ . . ]