
Commandes de gestion : `docker ps`, `docker stop`, `docker start`, `docker rm`
Maîtrisez les commandes Docker essentielles `docker ps`, `docker stop`, `docker start`, et `docker rm` pour lister, arrêter, démarrer et supprimer efficacement vos conteneurs.
Piloter le cycle de vie de vos conteneurs
Une fois les conteneurs lancés, il est fondamental de pouvoir les gérer activement. Cela inclut la visualisation de leur état, leur arrêt contrôlé, leur redémarrage et leur suppression lorsqu'ils ne sont plus nécessaires. La ligne de commande Docker met à disposition un ensemble de commandes dédiées à ces opérations de gestion du cycle de vie. Nous allons nous concentrer ici sur quatre commandes absolument centrales : `docker ps` pour lister, `docker stop` pour arrêter, `docker start` pour démarrer (un conteneur existant) et `docker rm` pour supprimer.
Ces commandes sont parmi les plus fréquemment utilisées lorsque l'on travaille avec Docker. Elles vous permettent de maintenir un contrôle précis sur les applications et services que vous exécutez dans des conteneurs, d'intervenir en cas de problème et de nettoyer votre environnement de travail. Leur maîtrise est donc une étape clé pour une utilisation sereine et efficace de Docker.
Visualiser les conteneurs : `docker ps`
La commande `docker ps` (pour "Process Status") est votre premier outil pour savoir ce qui se passe dans votre environnement Docker. Par défaut, elle liste uniquement les conteneurs qui sont actuellement en cours d'exécution.
Syntaxe de base :
docker psLa sortie affiche des informations utiles comme l'identifiant du conteneur (Container ID), l'image utilisée, la commande exécutée, le moment de la création, le statut (ex: 'Up 5 minutes'), les ports mappés et le nom du conteneur (souvent généré aléatoirement si non spécifié).Pour visualiser tous les conteneurs, y compris ceux qui sont arrêtés, utilisez l'option `-a` (ou `--all`) :
docker ps -aCela est particulièrement utile pour identifier les conteneurs arrêtés que vous pourriez vouloir redémarrer ou supprimer. Si vous avez besoin uniquement des identifiants des conteneurs (par exemple, pour les utiliser dans d'autres commandes), l'option `-q` (ou `--quiet`) est très pratique :# Lister les ID des conteneurs en cours
docker ps -q
# Lister les ID de tous les conteneurs
docker ps -a -qArrêter proprement un conteneur : `docker stop`
Lorsque vous souhaitez arrêter un conteneur en cours d'exécution, la commande `docker stop` est la méthode recommandée. Elle envoie d'abord un signal `SIGTERM` au processus principal du conteneur, lui demandant de s'arrêter proprement. Si le processus ne s'arrête pas dans un délai imparti (10 secondes par défaut), Docker envoie alors un signal `SIGKILL` pour forcer l'arrêt.
Syntaxe :
docker stop Vous pouvez spécifier le conteneur par son identifiant (même les premiers caractères suffisent s'ils sont uniques) ou par son nom.Exemple :
# Récupérer l'ID d'un conteneur nginx (exemple)
docker ps
# Supposons que l'ID est 'a2d4b8f9c1e0'
# Arrêter le conteneur
docker stop a2d4b8f9c1e0
# Ou si le conteneur s'appelle 'webserver'
docker stop webserverIl est également possible d'arrêter plusieurs conteneurs en une seule commande en listant leurs identifiants ou noms :docker stop container1 container2 a2d4b8f9c1e0Démarrer un conteneur arrêté : `docker start`
Si vous avez arrêté un conteneur avec `docker stop` ou s'il s'est arrêté pour une autre raison, vous pouvez le redémarrer avec la commande `docker start`. Cette commande relance le processus principal du conteneur dans l'état où il était, en conservant son système de fichiers (sauf si des volumes sont utilisés différemment).
Syntaxe :
docker start Comme pour `docker stop`, vous utilisez l'identifiant ou le nom du conteneur que vous pouvez trouver avec `docker ps -a`.Exemple :
# Lister les conteneurs arrêtés
docker ps -a
# Supposons qu'un conteneur nommé 'old_webserver' est arrêté
# Redémarrer le conteneur
docker start old_webserverVous pouvez également démarrer plusieurs conteneurs simultanément :docker start container1 container2Il est important de noter que `docker start` redémarre un conteneur existant. Pour créer et démarrer un nouveau conteneur à partir d'une image, c'est la commande `docker run` qu'il faut utiliser.Supprimer des conteneurs : `docker rm`
Lorsque vous n'avez plus besoin d'un conteneur, il est conseillé de le supprimer pour libérer les ressources système (disque, nom). La commande `docker rm` est utilisée à cet effet. Par défaut, vous ne pouvez supprimer qu'un conteneur qui est à l'état arrêté.
Syntaxe :
docker rm Vous devez d'abord arrêter le conteneur (`docker stop`) avant de pouvoir le supprimer.Exemple de workflow :
# Arrêter le conteneur 'temp_app'
docker stop temp_app
# Supprimer le conteneur arrêté
docker rm temp_appComme pour les autres commandes, vous pouvez supprimer plusieurs conteneurs en une fois :docker rm container_a container_b c3f8a7b6d5e4Si vous essayez de supprimer un conteneur en cours d'exécution, Docker renverra une erreur. Pour forcer la suppression d'un conteneur en cours d'exécution (ce qui équivaut à envoyer un `SIGKILL` immédiatement sans passer par `SIGTERM`), vous pouvez utiliser l'option `-f` (ou `--force`). Utilisez cette option avec prudence, car elle ne permet pas à l'application dans le conteneur de s'arrêter proprement.
# Forcer la suppression du conteneur 'stuck_app'
docker rm -f stuck_appPour nettoyer rapidement de nombreux conteneurs arrêtés, vous pouvez combiner `docker ps -a -q` avec `docker rm` :# Attention : supprime TOUS les conteneurs arrêtés
docker rm $(docker ps -a -q)