Docker version 18.09.0, build 4d60db4
OS VERSION : Centos 7
问题陈述:-
我在同一LAN上有一台主计算机和一台工作计算机。两者都通过docker-machine实用程序连接。预计该工作计算机将运行3个zookeeper独立容器。我在主机上使用-创建了一个docker overlay网络
docker network create --attachable --subnet 200.184.152.0/24 --gateway 200.184.152.254 --driver overlay my network
我想按如下方式将Zookeeper容器与固定IP地址绑定:-
zoo1 : 200.184.152.2
zoo2: 200.184.152.3
zoo3: 200.184.152.4
使用以下命令移至工作计算机的外壳后:
eval $(docker-machine env worker-1)
我运行了Zookeeper的第一个实例zoo1: 200.184.152.2
。它成功运行。
然后,我尝试运行第二个Zookeeper实例zoo2: 200.184.152.3
,但是它没有出现网络错误。
然后我使用docker network检查网络,然后在worker机器上检查my-network,并在容器部分显示结果:-
"Containers": {
"1a2471c777c907dc05bb0f23e819919354669de699f862e4fdc093293d145b31": {
"Name": "zoo1",
"EndpointID": "8bb5eebd1cacf36dc7cdad7fc3d72c45047c66b455c568cc9e8911d2121fd8d6",
"MacAddress": "02:42:c8:b8:98:02",
"IPv4Address": "200.184.152.2/24",
"IPv6Address": ""
},
"lb-my-network": {
"Name": "my-network-endpoint",
"EndpointID": "8f747b26e921ee1543631b758b7dfaf8c7e820c47a95849608dc3568f9957e79",
"MacAddress": "02:42:c8:b8:98:03",
"IPv4Address": "200.184.152.3/24",
"IPv6Address": ""
}
},
此lb-my-network使用的是我的组件所需的IP地址,因此,整个自动部署失败。最糟糕的是,lb-my-network的IP地址更改与其他容器的IP地址保持冲突。
这是预期的吗?如果是,那么当docker从用户逻辑保留的池中随机使用IP地址时,如何使用自动化部署多个容器。
在文档中,码头工人需要使用三个地址,一个网络地址,一个广播地址和一个网关地址,因此/ 24子网中的用户可以使用253个地址。但是这里lb-my-network使用的是预期由用户的容器使用的池中的IP地址。
我们将不胜感激。