2016-10-20 37 views
9

Docker konteynerlerimde (CentOS) bazı garip davranışlar var. SSH'ye girdiğimde Erlang VM'nin ([email protected]) çalışan bir örneği var, ona -remsh argümanıyla bağlanamıyorum, ancak ping atabiliyorum. Benim Erlang düğümü ([email protected]) düzgün çalışıyor olsa da.Erlang uzak kabuğu çalışmıyor

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]' 

çalışan 2 linux süreçleri vardır konum - Uzaktan Kabuğu çağırmak çalışır süreç için gerçek VM için bir ve başka

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] 

Ben ana bilgisayara Erlang ikili dosyaları kopyalamak (Arch Linux) ve ben farklı sonuçlar var ./bin/erl çalıştırın:

[[email protected] 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> 

orada basılmış Erlang sistemi sürümü var ve bu bir liman işçisi kap üzerinde eksik olduğunu lütfen unutmayın (ancak Erlang ikili exactl vardır y aynı).

+0

Erlang VM'yi docker kabında yeniden derlemeyi denedim, ancak şanssız kaldım. –

+1

Anlamıyorum, sorunun nedir? Erlang kabuğuna erişim hakkın var, bu yüzden, bu özellik işe yarıyor ... hayır? –

+2

Sorun, '-remsh api @ 127.0.0.1' ile' api @ 127.0.0.1' üzerinde bir kabuk almayı bekleyeceğiniz, 'uzak @ 127.0.0.1' değil. – legoscia

cevap

7

Kabukta $TERM nedir, uzaktan açmak ister misiniz? TERM bulunmadığında veya Erlang'ın karşı inşa edildiği ncurses tarafından bilinmediğinde, uzak kabuk bağlantısı sessizce başarısız hale geldiğinde bir sorun vardır. bu bir deneyin:

TERM=xterm ./bin/erl -name '[email protected]' -remsh '[email protected]'

keresinde Erlang posta listesine the problem bildirildi ama cevap geldi. Şimdi, this issue'un Erlang sorunu izleyicisinde olduğunu görüyorum. Lütfen OTP ekibi tarafından seçilmek üzere oy verin;)

+0

Teşekkürler Reith! TERM, xterm'e değiştirdikten sonra gerçekten 'aptal' olarak ayarlandı. –