【发布时间】:2018-02-21 13:03:35
【问题描述】:
我正在尝试连接不同 docker 容器的 2 个节点。
容器1:iex --name abc@172.17.0.2 --cookie foo
容器2:iex --name xyz@172.17.0.4 --cookie foo
现在假设我想从 xyz@172.17.0.4 连接到 abc@172.17.0.2
容器2:
iex(xyz@172.17.0.4)> Node.connect(:"abc@172.17.0.2")
iex(xyz@172.17.0.4)> true
节点正在连接。但是如果我这样做了
iex(xyz@172.17.0.4)> node = "abc@172.17.0.2"
iex(xyz@172.17.0.4)> Node.connect(:node)
iex(xyz@172.17.0.4)> false
为什么我会出错?其他函数也会发生这种情况,例如 Node.spawn/2。
【问题讨论】:
-
那么
node = :"abc@172.17.0.2"然后Node.connect(node) -
建议:不要使用 IP,使用名称,让 docker 自动链接您的容器。
-
@Pascal,方法可行,我刚刚测试过
-
@Pascal,塔伦谢谢!!有效。请参阅我的答案以了解解决此问题的另一种方法。