Docker群pipe理器无法识别群集节点

我按照这些步骤来创buildDocker群集。

  1. 创buildCunsol
    $ docker-machine create -d virtualbox mh -keystore
    $ eval“$(docker-machine env mh-keystore)”
    $ docker run -d \
    -p“8500:8500”\
    -h“领事”\
    progrium / consul -server -bootstrap

  2. 创buildswarm manager
    $ docker-machine create -d virtualbox node1
    $ docker run -d -p 4000:4000 swarm manage -H:4000 –replication – advertise $(docker-machine ip node1):4000 consul:// $(docker-machine ip mh -keystore):8500

  3. 创build群集节点
    $ docker-machine create -d virtualbox node2
    $ docker run -d swarm join –advertise = $(docker-machine ip node2):2375 consul:// $(docker-machine ip mh-keystore):8500

  4. login节点1
    $ docker-machine ssh node1
    $ docker -H:4000信息

但是这个指令输出

(未知):192.168.99.106:2375(node2 ip)
└ID:
└状态:待定
└容器:0
└保留的CPU:0/0
└保留内存:0 B / 0 B
└标签:
└错误:无法连接到Docker守护进程。 docker守护程序是否在这个主机上运行?….

我怎样才能解决这个问题 ?
我已经检查node2,它运行良好。

[更新]我按照这个页面 ,它运作良好。 但是我还是不知道如何在没有docker机的情况下build立群集群。

[更新]另一种方法也不行。

docker-machine create -d virtualbox \ --swarm \ --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ mhs-demo1 

Node1docker信息出现mhs-demo1的IP但信息仍然未知..

[更新]
当我键入eval $(docker-machine env –swarm node1)它显示

检查TLS连接时出错:“node1”不是swarm master。 – 温度标志用于swarm master这是否会导致错误? 为什么使用swarm manager指令设置不是swarm master?

太奇怪了 我怎样才能得到相同的结果

 docker-machine create \ -d virtualbox \ --swarm --swarm-master \ --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \ --engine-opt="cluster-advertise=eth1:2376" \ mhs-demo0 

使用swarm指令?

我想使用swarm指令,因为我不想在创buildswarm时声明swarm master。

为什么你只使用docker-machine来启动一个节点? 你可以使用docker机器来设置你的节点,swarm准备好了。你可以按照这个教程https://docs.docker.com/engine/userguide/networking/get-started-overlay/

尝试删除此文件:

 sudo rm /etc/docker/key.json 

然后重新启动docker:

 sudo service docker restart 

在这一点上,docker将创build一个新的key.json文件,你的主人应该能够find你的工人。 这种情况有时会在您为所有的工作节点使用相同的映像时发生,但这是一个简单的修复方法。

在docker1.12群模式是直接可用的。 没有必要为集群创build关键值存储。

只需按照这个: https : //docs.docker.com/engine/swarm/swarm-tutorial/create-swarm/