2017-09-13 44 views
2

我想连接2个不同码头集装箱的节点。如何连接elixir中的两个docker容器的节点?

Container1:iex --name [email protected] --cookie foo

container2的:iex --name [email protected] --cookie foo

现在可以说,我想从[email protected]

container2的连接[email protected]

iex([email protected])> Node.connect(:"[email protected]") 

iex([email protected])> true 

节点越来越连接。但如果我做

iex([email protected])> node = "[email protected]" 

iex([email protected])> Node.connect(:node) 

iex([email protected])> false 

为什么我得到错误?其他功能也会发生这种情况,例如Node.spawn/2。

+3

和怎么样'节点=:“[email protected]”'然后'Node.connect(节点)' – Pascal

+0

的建议:不要使用IP地址,使用的名称,让泊坞窗自动连接您的容器。 – papey

+1

@帕斯卡,方法将工作,我只是测试它 –

回答

0

我知道它通过将字符串转换为原子工作。

iex([email protected])> node = "[email protected]" 

iex([email protected])> Node.connect(String.to_atom(node)) 

iex([email protected])> true 
+1

你在你的解决方案中是正确的,它需要是一个原子。但是,您可以指定相同的功能,如:':“[email protected]”'。祝你好运! –

相关问题