我想做的是在本地运行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 …