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

时间:2017-09-13 00:19:52

标签: docker erlang elixir

我正在尝试连接不同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等其他函数上。

1 个答案:

答案 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