3.1 Bases de la commande docker ps
La commande docker ps
est l'une des plus utiles dans l'arsenal Docker. Elle affiche une liste des conteneurs en cours d'exécution et fournit des informations à leur sujet. Dans cette conférence, on va explorer en détail comment utiliser docker ps
pour vérifier l'état de vos conteneurs et quels paramètres sont disponibles pour un affichage plus détaillé.
Par défaut, la commande docker ps
affiche uniquement la liste des conteneurs qui sont actuellement en cours d'exécution.
Syntaxe
docker ps [OPTIONS]
Où :
-
OPTIONS
: paramètres supplémentaires pour filtrer et formater la sortie.
Exemple d'utilisation de base
docker ps
Cette commande de base docker ps
affichera une liste de tous les conteneurs en cours d'exécution. La sortie inclura les champs suivants :
- CONTAINER ID : identifiant unique du conteneur.
- IMAGE : image à partir de laquelle le conteneur a été créé.
- COMMAND : commande exécutée dans le conteneur.
- CREATED : durée depuis la création du conteneur.
- STATUS : état actuel du conteneur (par exemple, Up 5 minutes).
- PORTS : ports redirigés.
- NAMES : nom du conteneur.
Liste de tous les conteneurs
Pour afficher tous les conteneurs, y compris ceux qui sont arrêtés, utilisez l'option -a :
docker ps -a
Cette commande affichera une liste de tous les conteneurs qui ont été lancés à un moment donné, avec leur état actuel (en cours d'exécution, arrêté, etc.).
3.2 Filtrage de la sortie
Docker permet de filtrer la sortie de la commande docker ps
pour afficher uniquement les conteneurs qui correspondent à des critères définis.
1. Filtrage par statut
Par exemple, pour afficher uniquement les conteneurs arrêtés :
docker ps -f "status=exited"
2. Filtrage par nom
Pour afficher les conteneurs avec un certain nom ou une partie de celui-ci :
docker ps -f "name=my_container"
3. Filtrage par image
Pour afficher les conteneurs créés à partir d'une image spécifique :
docker ps -f "ancestor=nginx"
3.3 Mise en forme de la sortie
Tu peux personnaliser la sortie de la commande docker ps
pour la rendre plus lisible ou inclure uniquement les colonnes dont tu as besoin. Pour cela, utilise le paramètre --format
.
Exemple de formatage
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Cet exemple affiche un tableau avec l'identifiant du conteneur, son nom et son état.
Colonnes disponibles pour le tableau
- {{.ID}}: identifiant du conteneur.
- {{.Image}}: image du conteneur.
- {{.Command}}: commande exécutée dans le conteneur.
- {{.CreatedAt}}: date de création du conteneur.
- {{.RunningFor}}: durée du fonctionnement du conteneur.
- {{.Status}}: état actuel du conteneur.
- {{.Ports}}: ports redirigés.
- {{.Names}}: nom du conteneur.
Exemples d'utilisation
Exemple 1 : afficher uniquement les identifiants des conteneurs
Cet exemple affiche uniquement les identifiants des conteneurs en cours d'exécution. Utile pour les scripts.
docker ps -q
Exemple 2 : afficher les conteneurs démarrés dans les dernières 24 heures
docker ps --filter "since=24h"
Exemple 3 : afficher les conteneurs avec un état particulier et mise en forme de la sortie
Cet exemple affiche un tableau avec les noms des conteneurs, leur état et les ports redirigés pour tous les conteneurs en cours d'exécution.
docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
3.4 Scénarios pratiques
1. Surveillance des conteneurs en cours d'exécution
Quand tu as plusieurs conteneurs en cours d'exécution, la commande docker ps
te permet de vérifier rapidement leur état actuel et de t'assurer que tout fonctionne correctement.
docker ps
2. Recherche et suppression des conteneurs arrêtés
Une fois que les conteneurs ont terminé leur travail, ils restent dans le système jusqu'à ce que tu les supprimes. Tu peux utiliser docker ps -a
pour rechercher tous les conteneurs arrêtés, puis les supprimer.
docker ps -a -f "status=exited"
docker rm $(docker ps -a -f "status=exited" -q)
3. Automatisation des tâches
L'utilisation de la commande docker ps
dans des scripts te permet d'automatiser diverses tâches d'administration des conteneurs. Par exemple, tu peux générer des rapports sur l'état des conteneurs ou redémarrer automatiquement les conteneurs s'ils sont arrêtés.
if [ $(docker ps -q -f "name=my_container") ]; then
echo "Le conteneur est en cours d'exécution"
else
docker start my_container
fi
Important ! Ce “code” est écrit dans le terminal Linux. Tu devras peut-être l'apprendre.
GO TO FULL VERSION