I have some strange behaviour on my docker containers (CentOS). When I SSH into it there's a running instance of Erlang VM ([email protected]) I can't connect to it with -remsh argument, however I can ping it. My Erlang node ([email protected]) works correctly though.
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]'
There're 2 linux processes running - one for the actual VM and another for the process that tries to invoke remote shell
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]
When I copy Erlang binary files to the host (Arch Linux) and run ./bin/erl I have different results:
[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>
Please note that there's the Erlang system version printed and that's missing on a docker container (however Erlang binaries are exactly the same).
-remsh [email protected]
you'd expect to get a shell on[email protected]
, not on[email protected]
. – Inlay