gpt4 book ai didi

Docker 群管理器无法识别群节点

转载 作者:行者123 更新时间:2023-12-02 17:56:40 25 4
gpt4 key购买 nike

我按照以下步骤创建 Docker swarm 集群。

第一:创建Cunsol

docker-machine create -d virtualbox mh-keystore  
eval "$(docker-machine env mh-keystore)"
docker run -d \
-p "8500:8500" \
-h "consul" \
progrium/consul -server -bootstrap

二:创建swarm 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

第三:创建swarm节点
docker-machine create -d virtualbox node2  
docker run -d swarm join --advertise=$(docker-machine ip node2):2375 consul://$(docker-machine ip mh-keystore):8500

第四:登录node1
docker-machine ssh node1  
docker -H :4000 info

但是这个指令输出

(unknown): 192.168.99.106:2375(node2 ip)
└ ID:
└ Status: Pending
└ Containers: 0
└ Reserved CPUs: 0 / 0
└ Reserved Memory: 0 B / 0 B
└ Labels:
└ Error: Cannot connect to the Docker daemon. Is the docker daemon running on this host?....



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

[更新] 我关注 this page它运作良好。但是我仍然不知道如何在没有 docker-machine 的情况下设置 swarm 集群。

[更新] 另一种方法也不起作用。
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

Node1 docker info 出现 mhs-demo1 ip 但信息仍然未知..

[更新]
当我输入 eval docker-machine env --swarm node1表明

Error checking TLS connection: "node1" is not a swarm master. The --swarm flag is intended for use with swarm masters Does this cause error ? Why using swarm manager instruction to set up is not 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 master。

最佳答案

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

关于Docker 群管理器无法识别群节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com