python - docker swarm 抛出错误“swarm 已经是 swarm 的一部分”
问题描述
当我将新节点加入现有节点时,docker swarm 抛出错误“swarm already part of swarm”
我在本地机器上运行 docker swarm 并尝试初始化 swarm 并很好地执行,但是当我尝试将新的工作程序或节点添加到现有的管理器节点时,它会抛出一个错误,比如 swarm 已经是节点你必须离开节点。$docker swarm init Swarm 已初始化:当前节点 (fn405d6jtk8mxbpvdrftr0np1) 现在是管理器。
要将工作人员添加到此集群,请运行以下命令:
docker swarm join --token SWMTKN-1-5tyw8ux789wpa7yyt75qbilb669tiw53pxriyxu48niznpmaka-7u63l4hom3h60myvtyw8p1mcj 192.168.2.219:2377
要将管理器添加到此 swarm,请运行“docker swarm join-token manager”并按照说明进行操作。
=>再次使用上面的令牌作为工作人员并加入然后我会出现这样的错误..
$ 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.
解决方案
Docker swarm是一个或多个机器(物理或虚拟,称为节点)的集合,可以将容器作为服务运行。swarm 中的节点可以是管理者或工作者。只有在管理器节点上,您才能查看/修改集群状态。工作节点只运行容器。为了在 swarm 中运行容器,你必须创建一个服务;该服务将有零个或多个容器,具体取决于scale
您为服务设置的容器。
要创建一个 swarm,请在docker swarm init
将成为管理器节点的机器上运行。然后,在您拥有的其他机器docker swarm join
上运行命令以将它们添加到集群中。您不能将已经在 swarm 中的机器添加到 swarm 中。在您的情况下,您尝试将创建 swarm 的管理器添加到 swarm 中。
当您启动一个 swarm(使用docker swarm init
)时,您启动该 swarm 的机器已经连接到该 swarm,您无需执行任何其他操作即可将其连接到该 swarm。
启动 swarm 后,您可以(并且应该)将其他机器添加为管理器或工作器。
推荐阅读
- linux - Java ME / J2ME 使计算机硬重置
- c# - 在 VS Code 上使用 c# 代码获取所需输出的问题
- apache-nifi - 在 Apache NiFi 中使用 csv 的值查询数据库表
- c - 没有规则使 xo NASM 需要目标并生成 .o 文件作为输出。tthis 错误是什么意思 - 如何纠正它
- android - 如何截取相同布局的视频视图和文本视图
- php - Magento 在 null 上调用成员函数 get()
- excel - 建立在高级过滤器上而不重置最后一个高级过滤器
- rest - 如何在存储过程中引用rest api调用的结果
- excel - Excel 消息框选项。单元格包含公式,因此消息框未显示结果
- java - 无法启动 gatling 3.6.1 服务器