Erlang Remote Shell funktioniert nicht
Ich habe ein seltsames Verhalten bei meinen Docker-Containern (CentOS). Wenn ich mit SSH darauf zugreife, gibt es eine laufende Instanz von Erlang VM ([email protected]). Ich kann keine Verbindung mit dem Argument -remsh herstellen, aber ich kann es pingen. Mein Erlang-Knoten ([email protected]) funktioniert jedoch ordnungsgemäß.
bash-4.2# ./bin/erl -name '[email protected]' -remsh '[email protected]'
Eshell V6.1 (abort with ^G)
([email protected])1> node().
'[email protected]'
([email protected])2> net_adm:ping('[email protected]').
pong
([email protected])3> erlang:system_info(system_version).
"Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]\n"
([email protected])4> rpc:call('[email protected]', erlang, node, []).
'[email protected]'
Es werden 2 Linux-Prozesse ausgeführt - einer für die eigentliche VM und einer für den Prozess, der versucht, die Remote-Shell aufzurufen.
26 ? Sl 40:46 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app/ -- -name [email protected] -boot releases/14.2.0299/start -config sys -boot_var PATH lib -noshell
32542 ? Sl+ 0:00 /home/vcap/app/bin/beam.smp -- -root /home/vcap/app -progname erl -- -home /home/vcap/app -- -name [email protected] -remsh [email protected]
Wenn ich Erlang-Binärdateien auf den Host kopiere (Arch Linux) und ./bin/erl ausführe, habe ich unterschiedliche Ergebnisse:
[jodias@arch tmp]$ ./bin/erl
Erlang/OTP 17 [erts-6.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V6.1 (abort with ^G)
1>
Bitte beachten Sie, dass die Erlang-Systemversion gedruckt ist und in einem Docker-Container fehlt (Erlang-Binärdateien sind jedoch genau gleich).