shd*_*ers 5 erlang elixir docker
我想做的是在本地运行Erlang Observer 应用程序,然后连接到在生产中运行我的 Elixir/Phoenix 应用程序的远程 Docker 容器。
我遇到的问题是无法连接。
根据我的研究,我似乎需要在启动 Phoenix 服务器之前知道 Docker 映像的 IP 地址,以便我可以像这样启动它:
iex --name my_app@10.20.57.123 -S mix phoenix.server
我不确定是否需要cookie,所以我也尝试过
iex --name my_app@10.20.57.123 --cookie random_cookie -S mix phoenix.server
我尝试过使用主机名而不是 IP 地址,但这似乎不起作用。
一旦我运行了它,我希望像这样运行观察者
erl -name observe@127.0.0.1 -setcookie random_cookie -run observer
或者,使用 IEx
iex --name observe@127.0.0.1 --cookie random_cookie
iex> :observer.start()
Run Code Online (Sandbox Code Playgroud)
我可以在不需要知道IP地址的情况下启动Phoenix服务器并且仍然能够远程连接Observer吗?
我可以在使用此 shell 命令构建 docker 映像的过程中找出它的 IP 地址
ip addr | grep -Eo 'inet (.*) scope global' | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
但不知道如何将其放入命令中来启动 Phoenix 服务器。
我知道有一个可能的解决方案,可以使用静态 IP 地址启动 docker 映像,但我无法通过我的设置设置静态 IP 地址。
任何帮助表示赞赏。
我可以在不需要知道IP地址的情况下启动Phoenix服务器并且仍然能够远程连接Observer吗?
是的,使用 DNS 就可以。当然,您至少需要知道运行 Erlang 节点的服务器的完全限定域名。虽然不像 Erlang 节点短名称(例如node@server)那么短,但它仍然可能比 IP 地址更好。我对 Docker 不太熟悉,所以坚持使用 IP 地址可能更容易。在这种情况下,它不会给你带来很多好处。
一旦我运行了它,我希望像这样运行观察者
Run Code Online (Sandbox Code Playgroud)erl -name observe@127.0.0.1 -setcookie random_cookie -run observer
您在什么服务器上运行此命令?它需要位于已编译并支持 Wx 的 Erlang 的机器上。如果这是在与您运行 Phoenix 服务器的机器不同的机器上,则它将无法工作(这就是我所理解的情况)。
你需要做这样的事情:
找到运行phoenix的容器上的epmd端口
$ ssh phoenix-host "epmd -names"
epmd: up and running on port 4369 with data:
name some_phoenix_node at port 58769
Run Code Online (Sandbox Code Playgroud)
记下 epmd 本身的端口以及您有兴趣调试的节点的端口。使用您发现转发的端口重新连接到 phoenix 主机:
$ ssh -L 4369:localhost:4369 -L 58769:localhost:58769 phoenix-host
Run Code Online (Sandbox Code Playgroud)在你的机器上,启动一个运行观察者应用程序的隐藏 Erlang 节点:
$ iex -name debug@127.0.0.1 -setcookie <phoenix-server-cookie> -hidden -run observer
Run Code Online (Sandbox Code Playgroud)
该应用程序应该打开,您应该能够选择运行 phoenix 服务器的节点。
来源:https ://gist.github.com/pnc/9e957e17d4f9c6c81294
更新 2/20/2017
我编写了一个可以自动执行上述操作的脚本。epmd 知道的所有端口都转发到本地主机:https ://github.com/Stratus3D/dotfiles/blob/master/scripts/tools/epmd_port_forwarder
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |