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

标签 docker docker-swarm weave

TL;DR:Swarm 中存在错误 1.0.0 , 在 Swarm 1.1.0 中解决.

在四个 Swarm 代理集群上,使用 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接口(interface)IP地址设置为 192.168.0.5 ,实际上设置为 192.168.0.2 .

问题:这个过程有什么问题?

没什么,只是从版本 1.1.0 开始解决的一个错误.

最佳答案

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

关于docker - 如何为通过编织覆盖网络运行到 Swarm 中的容器设置静态 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35459262/

相关文章:

docker - 从主机访问 Redis Docker 容器

docker - 更改 Docker 退避时间

docker - 如何在Docker中运行Tensorflow项目?

docker-machine - 来自守护程序 : rpc error: code = 2 desc = The swarm does not have a leader 的错误响应

docker - docker stack/swarm 中的弹性

kubernetes - apiserver 可以通过CNI 提供的网络连接到节点的Kubelet 端口吗?

docker - 如何在离线 Windows 7 机器上安装 Docker

docker - 在 Windows Docker 构建中从 Chocolatey.org 诊断下载超时

tomcat - Docker 仅在虚拟机上而不是在物理机上?

kubernetes - 编织网Pod处于挂起状态,调度程序日志中存在错误