docker swarm抛出错误“swarm已经是swarm的一部分”

2024-05-16 04:04:38 发布

您现在位置:Python中文网/ 问答频道 /正文

当我加入新节点到现有节点时,docker swarm抛出错误“swarm已经是swarm的一部分”

我在我的本地机器上运行docker swarm,尝试初始化swarm并得到很好的执行,但是当我试图将新的worker或节点添加到现有的管理器节点时,它会抛出一个错误,比如swarm已经是节点的一部分,您必须离开节点。 $docker swarm初始化 Swarm初始化:当前节点(fn405d6jtk8mxpvdrftr0np1)现在是管理器。在

要向该群添加一个worker,请运行以下命令:

docker swarm join --token SWMTKN-1-5tyw8ux789wpa7yyt75qbilb669tiw53pxriyxu48niznpmaka-7u63l4hom3h60myvtyw8p1mcj 192.168.2.219:2377

若要向该群添加管理器,请运行“docker swarm join token manager”并按照说明操作。在

=>;再次使用上述令牌作为工作线程并加入,那么我会出现这样的错误。。在

^{pr2}$

Tags: docker命令gt机器token管理器节点错误
3条回答

Docker swarm是一个或多个计算机(物理或虚拟,称为节点)的集合,它们可以将容器作为服务运行。群中的节点可以是经理或工人。只有在管理器节点上,才能查看/修改群状态。工作节点仅运行容器。为了在群中运行一个容器,必须创建一个服务;该服务将有零个或多个容器,这取决于您为服务设置的scale。在

要创建一个群,需要在将成为管理器节点的机器上运行docker swarm init。然后,在您拥有的其他机器上运行docker swarm join命令,以便将它们添加到群中。你不能将已经在群中的机器添加到群中。在你的例子中,你试着把创造蜂群的管理者添加到蜂群中。在

当你启动一个群(用docker swarm init)时,你启动群的机器已经连接到群,你不需要做任何其他的事情来连接它到群。在

在启动swarm之后,您可以(也应该)添加其他机器作为管理器或工人。在

在创建群之后的任何时候,您都可以create services和/或networksdeploy stacks。在

运行docker swarm init的节点将自动成为群管理器。创建这些连接令牌是为了向群中添加新节点,以确保您拥有一个尽可能具有弹性的高可用性环境。在

根据我在上面读到的评论,您确认您正在运行的节点上运行worker join令牌docker swarm init。我建议你阅读一下Docker和{a2}的基础知识。在

我想你在为worker使用相同的管理器节点,我认为它会出错。您可以作为worker加入一个单独的节点(可以是虚拟的)。在

输入docker info并查看swarm状态,就可以找到swarm的状态。在

从worker(不同节点)如果你面对“这个节点已经是群的一部分”,你应该通过“docker swarm leave--force”离开swarm。再尝试连接。在

相关问题 更多 >