Comment répertoriez-vous tous les conteneurs Docker présents sur votre système ?
Il existe deux manières de procéder :
- Utiliser
docker ps
commande (méthode plus ancienne et populaire) - Utilisation du
docker container
command (méthode plus récente et moins connue)
Permettez-moi de lister rapidement les commandes avec les exemples les plus courants pour votre référence rapide.
commande ps | commande de conteneur | La commande s'affiche |
---|---|---|
docker ps | ls conteneur docker | exécuter des conteneurs |
docker ps -a | conteneur docker ls -a | tous les conteneurs |
docker ps -f "status=exited" | conteneur docker ls -f "status=exited" | conteneurs arrêtés |
docker ps -q | conteneur docker ls -q | ID des conteneurs en cours d'exécution |
docker ps-l | conteneur docker ls -l | dernier conteneur créé |
Comme vous pouvez le voir, les deux ps
et container
les commandes sont identiques avec leurs options.
Cependant, étant donné que docker souhaite organiser correctement les commandes, ils recommandent d'utiliser le docker container ls
commande.
Pour cette raison, j'utiliserai docker container ls
commande dans les exemples détaillés.
Afficher les conteneurs Docker en cours d'exécution
Sans aucune option, vous ne verrez que les conteneurs en cours d'exécution.
docker container ls
La sortie est détaillée :
[email protected]:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 8 seconds ago Up 6 seconds ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 23 seconds ago Up 22 seconds alp_con2
Si c'est la première fois que vous voyez ce résultat, laissez-moi vous expliquer les différents éléments du résultat :
Container ID
- Identifiant numérique unique pour identifier un conteneurImage
- Image Docker qui a créé le conteneurCommand
- La commande par défaut qui est exécutée lors du démarrage d'un conteneurCreated
- Heure relative à laquelle le conteneur a été crééStatus
- L'état du conteneur (sera expliqué plus tard)Ports
- Ports publiés du conteneurName
- Nom du conteneur. Si aucun n'est fourni, un nom aléatoire est quand même attribué.
Répertorier tous les conteneurs Docker
Si vous souhaitez voir tous les conteneurs de votre système, utilisez l'option -a
.
docker container ls -a
Voici un exemple de sortie et vous pouvez voir qu'il affiche maintenant également plusieurs conteneurs arrêtés.
[email protected]:~$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 37 minutes ago Up 37 minutes ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 37 minutes ago Up 37 minutes alp_con2
1c1c04a84186 alpine "bash" 38 minutes ago Created alp_con
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
Afficher uniquement les conteneurs arrêtés
Si vous souhaitez répertorier uniquement les conteneurs arrêtés, vous pouvez filtrer la sortie sur exited
statut.
docker container ls --filter "status=exited"
Voici la sortie filtrée :
[email protected]:~$ docker container ls --filter "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
Le exited
L'état concerne les conteneurs arrêtés. Il existe quelques statuts supplémentaires pour les conteneurs que vous pouvez utiliser à différentes fins :
created
- Un conteneur qui a été créé mais pas démarrérestarting
- Un conteneur en cours de redémarragerunning
- Un conteneur en cours d'exécutionpaused
- Un conteneur dont les processus ont été mis en pauseexited
- Un conteneur arrêtédead
- Un conteneur qui a été essayé d'être arrêté mais a échoué
En fait, le filtrage ne se limite pas au statut, vous pouvez filtrer en fonction d'autres éléments de la sortie de la liste des conteneurs, tels que l'ID, le nom ou l'image du conteneur. L'exemple suivant utilise ce concept.
Afficher les conteneurs associés à une image
Vous pouvez utiliser des filtres pour afficher tous les conteneurs associés à une certaine image uniquement en utilisant l'ancestor
filtre.
docker container ls -a --filter "ancestor=image_name"
Voici une sortie qui affiche tous les conteneurs associés à l'image docker d'Alpine Linux.
[email protected]:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93f84eb0f579 alpine "/bin/sh" 48 minutes ago Up 48 minutes alp_con2
1c1c04a84186 alpine "bash" 49 minutes ago Created alp_con
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
Afficher uniquement l'identifiant du conteneur
Avez-vous remarqué que toutes les commandes ci-dessus ont une sortie détaillée sur les conteneurs ?
Si vous n'avez pas besoin d'informations supplémentaires comme le nom du conteneur, l'image associée, son statut, vous pouvez utiliser l'option silencieuse -q
.
Par exemple, si j'utilise le -q
option dans l'exemple précédent, cela me donne uniquement les identifiants de tous les conteneurs associés à Alpine Linux.
[email protected]:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661
Cela s'avère pratique dans des situations telles que la suppression de tous les conteneurs d'une image docker.
Eh bien, cela suffit pour ce tutoriel docker. Je pense avoir mentionné suffisamment de cas d'utilisation pour répertorier les conteneurs dans Docker. Restez abonné pour plus de tutoriels de ce type.