Comment quittez-vous un conteneur Docker ?
Supposons que vous exécutiez un conteneur docker en mode interactif comme ceci :
docker run -it ubuntu bash
De cette façon, vous obtenez un shell interactif et vous êtes immédiatement connecté au système d'exploitation exécuté en tant que conteneur.
Pour quitter ce conteneur en cours d'exécution, vous pouvez utiliser ctrl+c, ctrl+d ou saisir exit dans le terminal.
Il y a un problème ici. Si vous quittez le conteneur de cette manière, votre conteneur s'arrête également.
[email protected]:~$ docker run -it ubuntu bash
[email protected]:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[email protected]:/# exit
exit
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Comme vous pouvez le voir sur la sortie ci-dessus, la commande docker ps n'affiche aucun conteneur en cours d'exécution.
Quitter le conteneur Docker sans l'arrêter (détacher le conteneur)
Ce que vous pouvez faire ici est de détacher le conteneur en appuyant sur ctrl+p et ctrl+q l'un après l'autre . Je sais que c'est un raccourci clavier étrange pour les utilisateurs de Linux, mais c'est comme ça que vous pouvez le faire facilement.
Une fois détaché, votre conteneur continuera à fonctionner même si vous quittez le conteneur. Votre session docker interactive est maintenant en mode démon.
Vous pouvez le vérifier en utilisant docker ps
pour le voir dans la liste des conteneurs en cours d'exécution.
Lorsque vous souhaitez l'utiliser à nouveau, vous pouvez rattacher le conteneur.
Conseil :exécutez le conteneur en mode démon chaque fois que possible
Je préfère toujours exécuter les conteneurs en mode démon comme ceci :
docker run -it -d docker_image_name bash
De cette façon, le conteneur démarre et s'exécute en arrière-plan. Le drapeau i signifie interactif et le drapeau t signifie tty. Donc, fondamentalement, cela vous donne un shell interactif qui exécute bash mais il n'est pas disponible immédiatement.
Vous pouvez saisir un conteneur en cours d'exécution de la manière suivante :
docker exec -it container_id bash
J'espère que cette petite astuce docker rapide vous a été utile. Restez à l'écoute pour plus d'astuces Docker.
Si vous avez des questions ou des suggestions, n'hésitez pas à les poser dans la section des commentaires.