【发布时间】:2017-05-24 13:40:09
【问题描述】:
我正在按照https://docs.docker.com/engine/swarm/swarm-tutorial/add-nodes/ 上的指南在创建群后添加节点。我跑了
sudo docker swarm init --advertise-addr 35.163.93.96 --listen-addr 127.0.0.1
创建集群。然后,为了尝试加入,我跑了
sudo docker swarm join --token SWMTKN-1-4h71pkxaykm2lo5pyiu0i1675dw94zwllt5p11iswyq17gkojf-14i50r7g49nh98rd3w847d7pj
35.163.93.96:2377
我总是遇到同样的错误
Error response from daemon: Timeout was reached before node was joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node.
运行sudo docker info后,我看到 Swarm: 挂起。我已经在网上(包括在 SO 上)寻找解决方法,但没有任何效果。我尝试重新启动 docker 服务并将 swarm 留在 manager 和 worker 上,然后将其重新设置为 swarm 并按特定顺序重新启动 docker。我尝试按照 Docker 官方 youtube (https://www.youtube.com/watch?v=x843GyFRIIY&index=7&list=PLkA60AVN3hh8lmRdhPKzsNJvZxJ8dpj4t) 上的教程进行操作,他们在其中演示了使用容器进行操作,但这也不起作用。我还注意到其他发布类似问题的人并不总是得到有效的回应。在这一点上,我不知道还能做什么。
【问题讨论】:
-
文档看起来很旧。码头工人的版本是多少?自 docker 1.12 起,Swarm 已集成到 docker 引擎中。 docker 1.12 或更高版本的 swarm 文档在这里。 docs.docker.com/engine/swarm
-
抱歉,我放错了链接。我将它更新为我实际使用的那个,它只是您按照您自己发布的链接上的教程找到的链接。
-
链接错误是可以的。我想
--listen-addr不用指定,不指定时是不是也一样? -
是的。我尝试了几种不同的方式,但仍然无法加入。我指定
--listen-addr的原因是因为指定监听地址时出错。 -
作为另一个可能的因素,工人和经理似乎无法相互沟通。你检查开放的端口了吗? docs.docker.com/engine/swarm/swarm-tutorial/#/…
标签: amazon-web-services docker amazon-ec2 rhel7