我正在沙箱中建立我的码头群集群。 我在一台机器上有1个动物园管理员用于发现,1个群主和2个群节点。 我尝试连接它们,但是当我尝试在swarm master上运行我的docker run命令时,它不会将工作分发到节点。 另外,当我在swarm master上做docker info
时,我可以看到节点没有连接。 我不知道我在做什么错。 这里是重现我的问题步骤:无法将节点连接到码头群主机(使用zookeeper)
我有一个空pwd
/data文件夹和pwd
/config文件夹和我zoo.cfg:
tickTime=2000
dataDir=/tmp/zookeeper
clientPort=2181
initLimit=5
-
#---- CREATE ZOO ---
docker-machine create --driver virtualbox zoo1
docker-machine start zoo1
eval $(docker-machine env zoo1)
docker pull jplock/zookeeper
docker run -p 2181:2181 -v `pwd`/conf:/opt/zookeeper/conf -v `pwd`/data:/tmp/zookeeper jplock/zookeeper
docker-machine ip zoo1 #############192.168.99.100
-
#--- CREATE CLUSTER ---
docker-machine create --driver virtualbox --swarm --swarm-master machine-smaster
docker-machine create --driver virtualbox --swarm machine-s01
docker-machine create --driver virtualbox --swarm machine-s02
-
eval "$(docker-machine env machine-smaster)"
docker run -p 2375:2375 -d -t swarm manage -H 0.0.0.0:2375 --advertise $(docker-machine ip machine-smaster):2375 zk://192.168.99.100:2181/swarm
docker run swarm list zk://192.168.99.100:2181/swarm
sleep 10
eval "$(docker-machine env machine-s01)"
docker run -d swarm join --advertise $(docker-machine ip machine-s01):2375 zk://192.168.99.100:2181/swarm
docker run swarm list zk://192.168.99.100:2181/swarm
eval "$(docker-machine env machine-s02)"
docker run -d swarm join --advertise $(docker-machine ip machine-s02):2375 zk://192.168.99.100:2181/swarm
docker run swarm list zk://192.168.99.100:2181/swarm
如果我运行一些容器:
eval "$(docker-machine env machine-smaster)"
docker run hello-world
工作不分派到节点(它由主运行)。 如果我运行码头信息:
eval "$(docker-machine env machine-smaster)"
docker info
我没有看到swarm节点。
我认为你正在连接* docker * API,而不是主站的* swarm * API;试试'eval“$(docker-machine env --swarm machine-smaster)”' – thaJeztah