Pracuję z lxc w Ubuntu 12.04 i jest naprawdę świetny. Nie mogę się jednak rozłączyć z lxc-console
sesją po połączeniu. Czytałem gdzieś, Ctrl-aqco odłączy mnie od konsoli, ale wydaje się, że to nie działa.
Czy zamiast tego powinienem biegać lxc-console
przez screen
?
lxc-stop
z innej powłokiOdpowiedzi:
Tak, Ctrl-aqpowinien działać domyślnie, jednak nie,
lxc-console
tak naprawdę nie używascreen
do zachowania konsoli. W rzeczywistości możesz napotkać konflikt, jeśli używasz screena, ponieważ jest on również używany Ctrl-ajako prefiks. Jeśli jesteś w środku,screen
ale nie zdajesz sobie z tego sprawy, musisz wpisać, Ctrl-a a qponieważ domyślnym zachowaniemscreen
jest to, że musisz pisać, Ctrl-a aaby faktycznie wysłać^a
do powłoki działającej w nim. Możesz zmienić prefiks ucieczki, przekazując opcję-e
lub .--escape=PREFIX
lxc-console
Wygląda też na to, że może występować błąd,
lxc-start
więc jeśli natychmiast przejdzie w tryb konsoli po uruchomieniu kontenera, którego nie można użyć Ctrl-a qdo ucieczki - w rzeczywistości wszystkie znaki kontrolne są spieprzone i wydrukowane na ekranie zamiast zachowywać się tak, jak oczekujesz. Jednym z obejść tego problemu jest uruchomienie go za pomocą opcji-d
lub--daemon
, aby nie od razu uruchamiało konsoli, a następnie łączyło się z nią ręcznie:źródło
Co zrobiłem, aby zatrzymać pojemnik
lxc-stop -n <name of the container>
To zatrzyma pojemnik.
źródło
Czy to się nie łączy
screen
?Ctrl-a d
powinien cię z tego wyciągnąć.Strona Ubuntu LXC zawiera więcej informacji.
źródło
lxc-console
właściwie nie używaćscreen
, to po prostu ma podobne zachowanie i domyślnie nie używa klucza, że konflikty zscreen
„s jak opisany tutaj .Alternatywnym sposobem logowania jest po prostu
ssh <ip>
skorzystanie z niegolxc-console
. Możesz użyć uruchomić go jako demona,lxc-start -d -n <name>
a następnie zalogować się za pomocą konsoli, aby uzyskać adres IP po raz pierwszy.źródło
Miałem podobny problem podczas pracy z moim Trusty LXC w Xenial-host i po uruchomieniu kontenera
lxc-start -F -n CN
nie mogłem wyjść i wrócić do hosta po wylogowaniu z kontenera. Zawieszony równieżsudo lxc-ls -f
w hoście i żadna zlxc-stop
komend z opcjami -k lub -W lub --no-lock nie działała, więc ostatecznie zabiłem -9'd proces kontenera, który działał, ale później uruchomiłem kontener zlxc-start
lublxc-attach
nie działa poprawnie , ale wyświetla błędy dotyczące lxc_cgfsng i braku znalezienia pid init init itp.Zobacz więcej tutaj: https://github.com/lxc/lxc/issues/1195
źródło
Po zakończeniu pracy z jakąś aplikacją zazwyczaj możesz ją zakończyć za pomocą CTR + C. Jeśli to nie pomoże, zawsze jest komenda quit: CTRL +.
CTRL + D, z drugiej strony, oznacza „ZAKOŃCZENIE PLIKU” i działa zwykle tak, aby jakiś program nie czytał klawiatury. Możesz wylogować się ze zwykłej powłoki za pomocą CTRL + D.
źródło