Qu'est-ce qu'un conteneur Docker ?
Une instance en cours d'exécution d'une image est appelée un conteneur. Docker les lance en utilisant les images Docker comme modèles en lecture seule. Si vous démarrez une image, vous avez un conteneur en cours d'exécution de cette image. Naturellement, vous pouvez avoir plusieurs conteneurs en cours d'exécution de la même image. Nous utilisons la commande "docker run ” pour exécuter un conteneur.
Répertorier les conteneurs Docker
Pour lister les conteneurs, exécutez la commande suivante :
# docker ps [ OPTIONS ]
Pour répertorier les conteneurs en cours d'exécution et arrêtés, utilisez l'option -a comme suit :
# docker ps -a
ici,
ID DE CONTENEUR – Identifiant unique attribué à tous les conteneurs.
IMAGE – Image de base à partir de laquelle le conteneur a été démarré.
COMMAND – Commande qui a été utilisée lors du démarrage du conteneur (la valeur par défaut est /bin/bash, si vous ne spécifiez aucune commande avec "docker run").
CREATED – Heure à laquelle le conteneur a été créé.
STATUT – L'état actuel du conteneur (Up ou Exited).
PORTS – Numéros de port, le cas échéant, transmis à l'hôte docker pour communiquer avec le monde extérieur.
NOMS - Le démon Dockers nomme le cluster d'une manière amusante. Vous pouvez également spécifier votre propre nom lors de la création d'un conteneur.
Pour répertorier uniquement l'ID du conteneur, utilisez le -aq option.
# docker ps -qa eeae1186ea78 52249ba75f0f 709773bb7128
Pour lister le dernier conteneur créé (en cours d'exécution ou arrêté) :
# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eeae1186ea78 centos "/bin/bash" About a minute ago Up About a minute modest_hypatia
Démarrer un conteneur Docker
Utilisez la commande ci-dessous pour démarrer un conteneur Docker :
# docker run [ OPTIONS ] IMAGE[:TAG] [COMMAND] [ARG...]
Par exemple :
# docker run -i -t --name=centos7_lab centos:latest /bin/bash
ici,
-je :Démarre le conteneur en mode interactif.
-t :alloue un pseudo-tty et l'attache à l'entrée standard
–name :nom convivial du conteneur. Si le nom n'est pas spécifié, une chaîne aléatoire sera attribuée comme nom de conteneur.
Lorsque vous exécutez une commande docker avec -t, vous êtes immédiatement attaché au conteneur et vous voyez l'invite de commande modifiée. Vous pouvez utiliser la commande "exit" pour sortir du conteneur.
Remarque :Lorsque vous exécutez une commande "docker run" et que l'iamge n'est pas disponible localement sur le système, il sera d'abord téléchargé à partir du registre à l'aide des commandes "docker search" et "docker pull" avant d'exécuter la commande "docker run".
Dans tous les exemples ci-dessus, lorsque vous démarrez le conteneur, vous y êtes automatiquement connecté. Et lorsque vous sortez du conteneur, le conteneur est arrêté. Vous pouvez également garder le conteneur en cours d'exécution même lorsque vous vous déconnectez en utilisant le -d option. Par exemple :
# docker run -itd --name=geeklab centos:latest /bin/bash cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa
Ici,
-d – Exécute le conteneur en arrière-plan et imprime l'ID du conteneur.
Arrêter un conteneur Docker
Vous pouvez arrêter un ou plusieurs conteneurs (tous) à la fois. La syntaxe de la commande pour arrêter un conteneur docker est :
docker stop [-t|--time[=10]] CONTAINER [CONTAINER...]
Ici,
–time/-t est le délai de grâce à attendre avant d'arrêter le conteneur.
Par exemple, vérifiez d'abord quel conteneur est en cours d'exécution.
# docker ps -q eeae1186ea78
Maintenant, pour arrêter le conteneur ci-dessus, utilisez la commande ci-dessous.
# docker stop eeae1186ea78 eeae1186ea78
Pour arrêter tous les conteneurs, exécutez la commande ci-dessous :
# docker stop `docker ps -q`
Supprimer un conteneur Docker
Pour supprimer le conteneur Docker, utilisez la syntaxe ci-dessous :
# docker rm [ OPTIONS ] CONTAINER [ CONTAINER ]
Par exemple :
# docker rm eeae1186ea78 eeae1186ea78
Pour supprimer un conteneur, nous devons d'abord l'arrêter. Par exemple, si vous essayez de supprimer un conteneur en cours d'exécution, vous obtiendrez une erreur comme :
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cae760f70ec4 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes geeklab
# docker rm cae760f70ec4 Error response from daemon: You cannot remove a running container cae760f70ec4bd232891364824773c2a3cac8f7854261108c474d304e6a5c5fa. Stop the container before a ttempting removal or force remove
Donc, pour supprimer le conteneur, arrêtez-le d'abord, puis supprimez-le.
# docker stop cae760f70ec4 cae760f70ec4
# docker rm cae760f70ec4 cae760f70ec4
Pour supprimer de force un conteneur sans l'arrêter, utilisez le -f option.
# docker rm -f 18a1924e8499 18a1924e8499
Pour supprimer tous les conteneurs à la fois, arrêtez-les tous d'abord, puis supprimez-les.
# docker stop `docker ps -q` # docker rm `docker ps -aq`Dépannage Docker - "conflit :suppression impossible, l'image est utilisée par le conteneur en cours d'exécution"
Comment installer Docker sur CentOS / RHEL / Fedora