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"

0 ответов

Другие вопросы по тегам