Как присоединиться к рою, инициализированному на хосте Docker, с виртуальной машины - PullRequest
0 голосов
/ 05 сентября 2018

Это может быть тривиальный вопрос, но я не смог найти подходящий ответ на него. На моем компьютере Widnows 10 установлен Docker для Windows. Он использует Hyper-V для создания начальной виртуальной машины для Docker (MobyLinuxVM). Я могу управлять Docker из CMD, как и ожидалось. Я верю, что я управляю хостом Docker. Затем я инициализирую режим роя для хоста, выполняющего следующую команду

docker swarm init

Это показывает мне мой единственный узел в рое.

C:\Users\Andrei\Gospace\src\docker-swarm\Proj>docker node ls
ID                            HOSTNAME                STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
vzt4bw76ucl139f3u94ms6i6e *   linuxkit-00155df56803   Ready               Active              Leader              18.06.1-ce

Мое намерение состоит в том, чтобы создать новую виртуальную машину и присоединить ее в качестве другого узла к рою. Для этого я следую этому руководству для Windows

[https://docs.docker.com/v17.09/get-started/part4/][1]

создание виртуального коммутатора внешнего типа и использование его при создании новой машины с помощью следующей команды

docker-machine create --driver hyperv --hyperv-virtual-switch "Hotspot Switch" hotspot0 

С помощью команды docker swarm join-token worker я получаю команду присоединиться к рой

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-53lc6spjk0no0dn3kc4s3zlgx5xuszdvdddw1uy1mirlerkimf-1jjymklcjt5lo660pm7hd8t29 192.168.65.3:2377

Затем я захожу в созданную мной машину и пробую ее, но получаю следующую ошибку:

docker@hotspot0:~$ docker swarm join --token SWMTKN-1-53lc6spjk0no0dn3kc4s3zlgx5xuszdvdddw1uy1mirlerkimf-1jjymklcjt5lo660pm7hd8t29 192.168.6
5.3:2377
Error response from daemon: Timeout was reached before node joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node. 

Я искал в Интернете достаточное количество времени, но не мог найти простой и четкий ответ на вопрос, как это можно сделать или почему это не следует делать вообще. У меня есть представление, что что-то не так с выбранной попыткой использовать Docker, но я вижу единственный способ создать образ из Dockerfile, не выдвигая и не вытягивая его в / из концентратора Docker, и делиться им со службой в Swarm. Я был бы признателен, если бы вы могли направить меня в правильном направлении. Заранее спасибо.

Кстати, все работает нормально, если я создаю две машины и создаю рой с ними. Проблема заключается в том, что я пытаюсь связать хост (который на самом деле не является док-машиной) и машину, созданную с docker-machine create.

...