Docker version 18.09.0, build 4d60db4
OS VERSION : Centos 7
Постановка проблемы: -
У меня есть главный компьютер и рабочий компьютер в одной локальной сети.Оба связаны утилитой docker-machine.Предполагается, что на рабочей машине будет работать 3 автономных контейнера для zookeeper.Я создал оверлейную сеть Docker на своем главном компьютере, используя -
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, проверяю 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-адрес, требуемый моими компонентами, из-за этого происходит полное сбой автоматического развертывания.Хуже всего то, что IP-адрес lb-my-network меняется, он продолжает конфликтовать с IP-адресом других контейнеров.
Ожидается ли это?Если да, то как я могу развернуть несколько контейнеров, используя автоматизацию, когда докер использует IP-адреса случайным образом из пула, зарезервированного логикой пользователя.
В документации указано, что докеру нужно три адреса для егорабочий, сетевой адрес, широковещательный адрес и адрес шлюза, поэтому пользователь может использовать 253 адреса в подсети / 24.Но здесь lb-my-network использует IP-адрес из пула, который, как ожидается, будет использоваться контейнерами пользователя.
Помощь будет оценена.