У меня есть настройки docker вручную на windows сервере 2016, следуя этой статье https://docs.docker.com/ee/docker-ee/windows/docker-ee/
У меня есть две машины windows server 2016 hyper-v, использующие одно и то же сеть и я добавили правила брандмауэра, чтобы разрешить сетевое соединение друг с другом.
Первая машина содержит частный IP 192.168.192.254, а другая - частный IP 192.168.192.242, и они могут пропинговать друг друга .
Я попытался инициировать роение на первом компьютере и использовал приведенную ниже команду docker swarm init --advertise-addr 192.168.192.245:2377 --listen-addr 192.168.192.245:2377
, но получил следующее сообщение об ошибке *
Ошибка ответа от демона: менеджер остановлен: сбой прослушивать удаленный адрес API: listen tcp 192.168.192.245:2377: bind: Запрошенный адрес недопустим в его контексте.
* Я выполнил приведенную ниже команду, а затем
docker network inspect nat
и ниже был результат ![enter image description here](https://i.stack.imgur.com/Hlaia.png)
Похоже, docker имеет свой собственный интерфейс, и его сетевой IP-адрес отличается от переключателя по умолчанию для hyper-v! Это означает, что оба докера на обеих машинах не знают, как общаться друг с другом, если я правильно понимаю, как я могу построить многоузловый рой в этой ситуации?
Другая вещь, которую я пытался сделать и потерпел неудачу с, чтобы инициировать рой и использовал IP-адрес в пределах диапазона docker окна, но я получил ту же проблему
Редактировать снова:
Теперь он работал с этим IP-адресом: порт 192.168.192.243: 2377 и смог добавить первую виртуальную машину Hyper-V в качестве управляющего узла, но как вы видите, другая машина не может присоединиться к рою. Я заметил, что когда я добавляю --listen-addr 192.168.192.243:2377, я получаю ту же ошибку, что и выше.
Я также отключил брандмауэры на обеих машинах, но ничего не работает
![enter image description here](https://i.stack.imgur.com/N8fvA.png)