Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python docker swarm抛出了一个错误;swarm已经是swarm的一部分了”; docker swarm在我将新节点加入现有节点时抛出错误“swarm已经是swarm的一部分”_Python_Docker_Docker Swarm - Fatal编程技术网

Python docker swarm抛出了一个错误;swarm已经是swarm的一部分了”; docker swarm在我将新节点加入现有节点时抛出错误“swarm已经是swarm的一部分”

Python docker swarm抛出了一个错误;swarm已经是swarm的一部分了”; docker swarm在我将新节点加入现有节点时抛出错误“swarm已经是swarm的一部分”,python,docker,docker-swarm,Python,Docker,Docker Swarm,我在本地机器上运行docker swarm,并尝试初始化swarm并得到很好的执行,但当我尝试将新的工作者或节点添加到现有的manager节点时,它会抛出一个错误,如swarm已经是节点的一部分,您必须离开节点。 $docker swarm init Swarm已初始化:当前节点(FN405D6JTK8MbPVDRFTR0NP1)现在是一个管理器 要将工作进程添加到此群,请运行以下命令: docker swarm join --token SWMTKN-1-5tyw8ux789wpa7yyt75

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

要将工作进程添加到此群,请运行以下命令:

docker swarm join --token SWMTKN-1-5tyw8ux789wpa7yyt75qbilb669tiw53pxriyxu48niznpmaka-7u63l4hom3h60myvtyw8p1mcj 192.168.2.219:2377
要将管理器添加到此swarm,请运行“docker swarm加入令牌管理器”并按照说明操作

=>我再次使用上面的令牌作为工作者并加入,然后我会像这样出错

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

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
是一个或多个计算机(物理或虚拟,称为节点)的集合,可以将容器作为服务运行。群中的节点可以是管理者或工作者。只有在管理器节点上,才能查看/修改swarm状态。工作节点仅运行容器。为了在swarm中运行容器,您必须创建一个服务;该服务将具有零个或多个容器,具体取决于您为该服务设置的
比例

要创建swarm,请在将成为manager节点的计算机上运行
docker swarm init
。然后,在您拥有的其他机器上运行
docker swarm join
命令,以便将它们添加到swarm。您不能向群中添加已在群中的机器。在您的案例中,您尝试将创建群的经理添加到群中

当您启动群时(使用
docker swarm init
),启动群的机器已连接到群,您无需执行任何其他操作即可将其连接到群

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


在创建swarm后的任何时候,您都可以和/或。

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


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

我认为您对worker使用了相同的管理器节点,我认为这会出错。您可以作为工作节点加入单独的节点(可以是虚拟节点)

键入docker信息并查看swarm状态,您可以找到swarm的状态


从工作节点(不同节点)开始,如果您面对“此节点已经是群的一部分”,您应该通过“docker swarm leave--force”离开群。然后再次尝试连接。

按照步骤将节点添加到群集 让我们有1个主节点1和3个从节点

  $ docker-machine create -d virtualbox master1
  $ docker-machine create -d virtualbox slave1
  $ docker-machine create -d virtualbox slave2
  $ docker-machine create -d virtualbox slave3
现在ssh到master1

  $ docker ssh master1
现在以master1为先导初始化swarm集群

  $ docker swarm --init <master1-ip>  // get the ip as $ docker-machine ip master1
  $ exit
上面的命令是,如果你知道哪些节点已经是swarm的一部分,
离开蜂群

  $ docker swarm leave --force

我曾经遇到过一个类似的问题,我有一个从节点,它是docker swarm的一部分,然后我的节点机器重新启动,之后我尝试将同一个节点再次添加回swarm,它给了我以下错误 我不得不使用docker swarm离开这个节点,然后我再次添加了它,它工作得很好

错误:-

[######@slave ~]$  docker swarm join --token SWMTKN-1-3nvdabrgv2sg03j9u3ww5or8ujamztqv0tihzo9ip26ewtc0vq-dw5ah2sj4nwbtuvd7lmpecjzp 192.168.xxx.xxx:2377

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
决议:-

[#####n@slave ~]$ docker swarm leave

您是在同一节点(管理器)上还是在不同节点上运行
docker swarm join
命令?在同一节点上。但是不可能/逻辑地将同一节点(或vm)添加到同一个swarm。您需要有其他节点或虚拟机(vm)并添加它们。一旦我们启动swarm,然后我们有两个选择,要么我们可以连接该节点作为管理者或工作者,使用相同的连接令牌,但当我尝试其中任何一个节点时,它会抛出错误。例如,您可以通过启动docker swarm init命令在终端上进行尝试。我已经尝试了很多时间,我对这方面还不熟悉,因此我无法获得正确的想法。
  $ docker swarm leave --force
[######@slave ~]$  docker swarm join --token SWMTKN-1-3nvdabrgv2sg03j9u3ww5or8ujamztqv0tihzo9ip26ewtc0vq-dw5ah2sj4nwbtuvd7lmpecjzp 192.168.xxx.xxx:2377

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
[#####n@slave ~]$ docker swarm leave