Docker Swarm Mesh не работает на смешанном кластере Win7 / Linux
У меня есть смешанный Docker Swarm Cluster с Linux-машинами и Win7-машинами, на которых работает VirtualBox через NAT (мостовая опция не разрешена).
Win7 Win7
| |
(port forwarding on 7946tcp/udp, 2377tcp, 4789udp)
| |
+----+----+ +----+----+ +-------+ +-------+
| VirtBox | | VirtBox | | linux | | linux |
+----+----+ +----+----+ +---+---+ +---+---+
| | | |
+----+---+ +----+---+ +----+---+ +----+---+
| docker | | docker | | docker | | docker |
+----+---+ +----+---+ +----+---+ +----+---+
| | | |
+----+------------+-----------+------------+---+
| docker swarm |
+----------------------------------------------+
Рок Docker инициализирован нормально (согласно диаграмме ниже):
docker@frankie:~$ docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
ban0an8sg * Win1 Ready Active Reachable 18.05.0-ce
asdlkj328 Win2 Ready Active Leader 18.05.0-ce
9w05zyye6 Linux1 Ready Active Reachable 18.03.1-ce
slkhj2387 Linux2 Ready Active Reachable 18.03.1-ce
Я могу запускать службы в рой без проблем:
docker@frankie:~$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
9w05zyye6 my-web replicated 1/1 nginx:latest *:8083->80/tcp
К сожалению, сетка роя работает только между машинами Linux. Я могу получить доступ к сервису непосредственно на машине, на которой он запущен (даже если служба работает на Windows), но сетевая сеть работает только между Linux.
accessible on ► | win1 | win2 | lin1 | lin2
running on ▼ +------+------+------+------
win1 | x | | |
win2 | | x | |
linux1 | | | x | x
linux2 | | | x | x
Есть идеи о том, где может быть проблема?
Изменить (добавлена команда добавления портов для пояснения):
VBoxManage.exe controlvm "win1" natpf1 "docker-swarm-cluster-management,tcp,0.0.0.0,2377,,2377"
VBoxManage.exe controlvm "win1" natpf1 "docker-swarm-cluster-comm-tcp,tcp,0.0.0.0,7946,,7946"
VBoxManage.exe controlvm "win1" natpf1 "docker-swarm-cluster-comm-udp,udp,0.0.0.0,7946,,7946"
VBoxManage.exe controlvm "win1" natpf1 "docker-swarm-cluster-traffic,udp,0.0.0.0,4789,,4789"