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.