如何连接elixir中的两个docker容器的节点?

我正在尝试连接不同docker集装箱的2个节点。

Container1: iex --name abc@172.17.0.2 --cookie foo

Container2: iex --name xyz@172.17.0.4 --cookie foo

现在让我们说我想从xyz@172.17.0.4连接到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 

为什么我得到错误? 其他function也正在发生,如Node.spawn / 2。

我通过将string转换为primefaces来工作。

 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