docker node ls 不会将提升的节点的管理器状态更改为可达

标签 docker swarm

我有 1 个管理节点 (swarm-manager) 和两个工作节点(swarm-worker01 和 swarm-worker02)。我输入了命令 docker node Promotion swarm-worker01 它给了我这个输出:

 Node swarm-worker01 promoted to a manager in the swarm.

但是 docker node ls 并没有说明 swarm-worker01 作为管理者:

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
oaquxnmku3s4uhrcp29ijx7rn *   swarm-manager       Ready               Active              Leader              19.03.4
xfwywb5wu550lme0epcexrgu1     swarm-worker01      Ready               Active                                  19.03.4
afyhz03k7uoejnm5dlht98ip5     swarm-worker02      Ready               Active                                  19.03.4

如果再次尝试提升节点,我会收到消息:

Node xfwywb5wu550lme0epcexrgu1 is already a manager.

我的API版本是1.40

我有什么遗漏的吗?

最佳答案

我遇到了同样的问题,并通过确保正在升级的工作节点打开了端口 2377 来解决该问题,这是管理器运行所必需的。

关于docker node ls 不会将提升的节点的管理器状态更改为可达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58516300/

相关文章:

mysql - Laravel MySQL 仅在计划任务上出错(通过 cron)

logging - 如何在单个主机中分离多个容器的日志?

docker - 在 dev、qa、uat 和生产中推广 docker 镜像的最佳实践

command-line - 通过命令行请求新的 Swarm 审查

mysql - 如何与本地系统 apache 一起运行 docker apache?

docker - Kubernetes:增加 K3s 中 OverlayFS/containerd 运行时卷的大小

amazon-web-services - 如何在 AWS EC2 上启动时为 Docker 守护程序相关文件使用单独的文件系统

caching - 如何清除docker容器内的缓存

spring - 在 Docker Swarm 中创建网络

docker - Docker聚集了多个服务实例,每个实例具有不同的配置