web-dev-qa-db-fra.com

Comment se déconnecter de la console lxc

Je travaille avec lxc dans Ubuntu 12.04, et c'est vraiment génial. Cependant, je ne parviens pas à me déconnecter d'un lxc-console session après connexion. J'ai lu quelque part que Ctrl-aq va me déconnecter de la console mais cela ne semble pas fonctionner.

Dois-je exécuter lxc-console via screen à la place?

41
robbyt

Oui, Ctrl-aq, devrait fonctionner par défaut, mais non, lxc-console n'utilise pas réellement screen pour accomplir son comportement de console. En fait, vous pourriez rencontrer un conflit si vous utilisez l'écran car il utilise également Ctrl-a comme préfixe. Si vous êtes à l'intérieur de screen mais ne vous en rendez pas compte, vous devrez taper Ctrl-a a q puisque le comportement par défaut de screen est que vous devez taper Ctrl-a a envoyer réellement ^a au Shell exécuté à l'intérieur de celui-ci. Vous pouvez modifier le préfixe d'échappement en passant le -e ou --escape=PREFIX option pour lxc-console.

Il semble également qu'il puisse y avoir un bogue dans lxc-start de sorte que s'il passe immédiatement en mode console lorsque vous démarrez le conteneur, vous ne pouvez pas l'utiliser Ctrl-a q pour échapper - en fait, tous les personnages de contrôle semblent être vissés et imprimés à l'écran au lieu de se comporter comme vous l'attendez. Une solution consiste à l'exécuter avec le -d ou --daemon option pour qu'il ne démarre pas immédiatement une console, et la connecter à la main:

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

Ce que j'ai fait pour arrêter le conteneur

  1. Ouvrez une nouvelle session.
  2. Connectez-vous en tant que root.
  3. Vérifiez l'état du conteneur.
  4. lxc-stop -n <name of the container>

Cela arrêtera le conteneur.

2
Sreenivas

Ne se connecte-t-il pas via screen? Ctrl-a d devrait vous en sortir.

La page Ubuntu LXC contient plus d'informations.

0
El Yobo

J'ai rencontré un problème similaire lorsque je travaillais avec mon Trusty LXC dans Xenial-Host et après avoir démarré le conteneur avec lxc-start -F -n CN n'a pas pu sortir et revenir à l'hôte lorsque vous vous êtes déconnecté du conteneur. Également Sudo lxc-ls -fdans l'hôte pendu et aucun des lxc-stoples commandes avec les options -k ou -W ou --no-lock ont ​​fonctionné, donc j'ai finalement tué -9'd le processus de conteneur qui a fonctionné mais après avoir démarré le conteneur avec lxc-start ou lxc-attachne fonctionne pas correctement, mais affiche des erreurs sur lxc_cgfsng et ne trouve pas le pid d'init, etc.

Voir plus ici: https://github.com/lxc/lxc/issues/1195

0
OpenITeX

Une autre façon de se connecter consiste à faire simplement ssh <ip> Au lieu d'utiliser lxc-console. Vous pouvez utiliser le démarrer en tant que démon en utilisant lxc-start -d -n <name> Puis vous connecter à l'aide de la console pour obtenir l'IP pour la première fois.

0
Nishant