2017-04-12 58 views
3

我有两台服务器在多克群,但是当我需要添加第三个服务器 - 我得到的结果是:失败连接节点来泊坞窗群

Error response from daemon: rpc error: code = 14 desc = grpc: the connection is unavailable

所有服务器在一个网络中。

可能是什么问题?

回答

2

我会说它可能与防火墙有关。确保您的端口在第三个盒子上正确配置。从Docker docs

Open protocols and ports between the hosts The following ports must be available. On some systems, these ports are open by default.

TCP port 2377 for cluster management communications TCP and UDP port 7946 for communication among nodes UDP port 4789 for overlay network traffic

0

容易一个从official docs

  1. 重新初始化的群经理:

    • 取下来用docker swarm leave --force
    • docker swarm init --advertise-addr [ip of the machine, check it with 'docker-machine ls']:2377(重新初始化2377the port for swarm joins的群)
  2. 那么你的机器与docker-machine ssh myvm2 "docker swarm join \ --token <token> \ <ip>:<port>"

1

添加到群正如其他人所指出的那样,关闭端口可能是一个原因。但我也发现了更多。

最近的码头工人的版本是从大量的代理问题的痛苦:

this comment,修复是 “可能”把它变成Docker版本为17.11,并且“0123”考虑将其放入17.09的修补程序版本。

我所有的端口都是开放的,在上述链接中描述的NO_PROXY黑客无效。

我试图17.05一路之间的所有码头工人版本17.11.0-ce-rc3, build 5b4af4f没有成功害得我怀疑罪魁祸首可能是最近流浪的升级(我使用2.0.1)和/或VirtualBox的(使用5.1.30)。升级这两者中的任何一个通常会导致各种随机问题。但是,我并没有降级这些家伙,而是试图升级我运行的Vagrant盒子。

在我的双机设置中,我将第一个节点的框切换为fso/artful64-desktop,将第二个节点的框切换为fso/artful64(两个版本2017-11-01)。令我惊讶的是,这使得Docker Swarm在版本17.10.0-ce17.11.0-ce-rc3, build 5b4af4f上工作。请注意,如果您想使用Ubuntu 17.10盒大声笑(可以是manually fixed),Vagrant 2.0.1上的私人网络就会被打破。

0

我们所面临的错误信息是不完全一样的,但颇为相似:

Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable

在我们的例子中,我们以我们公司代理之后到达码头工人枢纽图像添加代理服务器设置泊坞窗守护进程。 因此,当试图泊坞员群体加入一个工作人员到经理,而不是去代理。

解决方案: 将swarm管理器添加到docker守护进程NO_PROXY环境变量中,并且您很好。 This answer告诉你如何。

0

临时解决冲洗iptables,但是一个坏主意! 之后,克隆图像不起作用,因为它没有找到适当的iptables链“docker”。

这确实是一个FW问题,但更确切地说,是firewalld(centos7)。
通过允许合适的端口通过firewalld解决了这个问题,如:
@ sanjaykumar81答案。