如何从虚拟机加入在Docker主机上初始化的群集

如何从虚拟机加入在Docker主机上初始化的群集,docker,docker-swarm,Docker,Docker Swarm,这也许是一个微不足道的问题,但我没有找到合适的答案。我的Widnows 10机器上安装了Windows Docker。它使用Hyper-V为Docker创建初始虚拟机(MobyLinux虚拟机)。我可以按预期从CMD操作Docker。我相信我管理的是Docker主机。然后我为运行下一个命令的主机初始化swarm模式 docker swarm init 它显示了我在群中的唯一节点 C:\Users\Andrei\Gospace\src\docker-swarm\Proj>docker no

这也许是一个微不足道的问题,但我没有找到合适的答案。我的Widnows 10机器上安装了Windows Docker。它使用Hyper-V为Docker创建初始虚拟机(MobyLinux虚拟机)。我可以按预期从CMD操作Docker。我相信我管理的是Docker主机。然后我为运行下一个命令的主机初始化swarm模式

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
我的意图是创建一个新的虚拟机,并将其作为swarm的另一个节点加入。为此,我遵循本Windows教程

[

创建外部类型的虚拟交换机,并在使用以下命令创建新计算机时使用它

docker-machine create --driver hyperv --hyperv-virtual-switch "Hotspot Switch" hotspot0 
使用
docker swarm join token worker
命令,我获得加入swarm的命令

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

    docker swarm join --token SWMTKN-1-53lc6spjk0no0dn3kc4s3zlgx5xuszdvdddw1uy1mirlerkimf-1jjymklcjt5lo660pm7hd8t29 192.168.65.3:2377
然后,我将ssh连接到我创建的机器中并尝试,但出现下一个错误:

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 hub,并与swarm中的服务共享。如果您能为我指引正确的方向,我将不胜感激。提前感谢

顺便说一句,如果我创建两台机器并用它们创建一个群集,一切都会正常工作。问题是当我尝试绑定主机(实际上设计上不是docker机器)和使用
docker machine create创建的机器时