Lxc konsolundan nasıl çıkarılır


41

Ubuntu 12.04'te lxc ile çalışıyorum ve bu gerçekten harika. Ancak, lxc-consolebağlandıktan sonra bir oturumun bağlantısını kesemiyorum. Ctrl-aqBeni konsoldan ayıracak bir yer okudum ama işe yaramadı.

Koşuyorum olmalı lxc-consolearacılığıyla screenyerine?


Bende de aynı sorun var. "-D" parametresini unutarak bir kap başlatırsanız, çıkış yoktur. Ctrl aq etkisizdir. Bulduğum tek çözüm konsola giriş yapmak ve sizi dışarı çıkaracak "sudo poweroff" yapmak.
EOS

ayrıca lxc-stopbaşka bir kabuğundan da yapabilirsiniz
Martin Serrano

Yanıtlar:


56

Evet, Ctrl-aqvarsayılan olarak çalışması gerekir, ancak hayır, lxc-consoleaslında screenkonsol davranışını gerçekleştirmek için kullanmaz . Aslında, Ctrl-aönek olarak da kullandığı için ekranı kullanıyorsanız, bir çatışmayla karşılaşıyor olabilirsiniz . İçerideyseniz screenama farkına varmazsanız yazmanız gerekir, Ctrl-a a qçünkü varsayılan davranışı, içinde çalışan kabuğa gerçekten göndermek için screenyazmanız gerektiğidir. Kaçış önekini veya seçeneğini ileterek değiştirebilirsiniz .Ctrl-a a^a-e--escape=PREFIXlxc-console

Ayrıca, lxc-startkabı çalıştırdığınızda hemen konsol moduna Ctrl-a qgirerse kaçmak için kullanamayacağınız bir hata olabilir , aslında tüm kontrol karakterleri berbat ve ekrana basmış gibi görünüyor. beklediğiniz gibi davranmak yerine. Çözümlerden biri, -dveya --daemonkonsolu ile çalıştırılmasıdır, böylece hemen bir konsolu başlatmaz ve elle bağlanır:

lxc-start -d -n container-name
lxc-console -n container-name

1
<kbd> Ctrl-a q </kdb>, 0.9.0 sürümü olan bağlı bir konsol üzerinde herhangi bir etkiye sahip değildir
Jay Taylor

5
Eğer LXC devs docker'ın neden milyarlarca daha fazla benimsendiğini merak ediyorsa, bu hata ana nedenlerden biridir.
Florian Heigl

1
@FlorianHeigl Bu hatanın çirkin olduğuna dair düşüncelerinize katılıyorum, bunun nedeni gerçekler: bugs.debian.org/cgi-bin/bugreport.cgi?bug=768073 access.redhat.com/articles/1365153 erişim. redhat.com/discussions/2772171 (ve RedHat’ın "LX (C | D)?" ye "No, Docker!" ile yanıt verdiği çok sayıda diğer durumlar (bunların "LXD Debian" ve "LXD Redhat" için en iyi Google sonuçları olduğunu unutmayın. sorgular ").
Bojan Markovic

2

Konteyneri durdurmak için ne yaptım

  1. Yeni bir oturum aç.
  2. Root olarak giriş yapın.
  3. Konteyner durumunu kontrol edin.
  4. lxc-stop -n <name of the container>

Bu, kabı durduracaktır.


0

Üzerinden bağlanmıyor screenmu? Ctrl-a dseni bunun dışına çıkarmalıyım.

Ubuntu LXC sayfa fazla bilgi içermektedir.


Hayır, bu çalışmıyor. Ekranı kullanıyorum, böylece lxc konsolundan bağlantısını kesebilirim. Ayrıca, gönderdiğiniz bağlantıda bu sorun hakkında herhangi bir bilgi yoktur.
robbyt

"Ekranı ayır : Ca d veya Ca Cd" - help.ubuntu.com/community/LXC#Mini_screen_how-to ; işe yaramazsa ne yapacağından emin değilim.
El Yobo

1
@ElYobo Hayır, lxc-consoleaslında kullanmaz screen, sadece benzer davranışlara sahiptir ve varsayılan screenolarak burada tanımlandığı şekilde çakışan bir anahtar kullanır .
aculich

0

Giriş yapmanın alternatif bir yolu da sadece ssh <ip>kullanmakta yetersiz kalmaktır lxc-console. lxc-start -d -n <name>IP'yi ilk kez almak için kullanıp ardından daemon kullanarak başlayıp konsol kullanarak giriş yapabilirsiniz.


0

Xenial-host'taki Trusty LXC cihazımla çalışırken ve konteyneri çalıştırdıktan sonra konteynere lxc-start -F -n CNoturumu kapattığında ana makineye geri dönemediğimde benzer bir sorun yaşadım . Ayrıca sudo lxc-ls -fev sahibi asıldı ve lxc-stop-k ya da -W ya da --no-lock seçenekleri olan komutların hiçbiri işe yaramadı, bu yüzden sonunda işe yarayan ancak daha sonra kabı çalıştıran lxc-startya da lxc-attachdüzgün çalışmayan kap işlemini -9'ledi. , ancak lxc_cgfsng ile ilgili hataları görüntüleyin ve init pid vb.

Buradan daha fazlasını görün: https://github.com/lxc/lxc/issues/1195


-6

Bazı uygulamalarla çalışmayı bitirdiğinizde genellikle CTR + C cadılarını sonlandırabilirsiniz. Bu işe yaramazsa, her zaman quit komutu vardır: CTRL +.

CTRL + D ise "END OF DOSYA" anlamına gelir ve genellikle bazı programların klavyeyi okumasını engellemek için çalışır. CTRL + D ile normal kabuktan çıkış yapabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.