我正在尝试连接不同docker容器的2个节点。
Container1:iex --name abc@172.17.0.2 --cookie foo
Container2:iex --name xyz@172.17.0.4 --cookie foo
现在假设我要从abc@172.17.0.2
xyz@172.17.0.4
container2的:
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等其他函数上。
答案 0 :(得分:1)
我通过将字符串转换为原子来实现它。
iex(xyz@172.17.0.4)> node = "abc@172.17.0.2"
iex(xyz@172.17.0.4)> Node.connect(String.to_atom(node))
iex(xyz@172.17.0.4)> true