Supprimer un container Docker pour libérer des ressources

Les conteneurs Docker consomment de l’espace et des ressources sur votre système hôte. En supprimant les conteneurs inutiles, vous pouvez libérer un espace de stockage précieux et améliorer les performances de votre système.

Quand faut-il supprimer un conteneur Docker ?

Les conteneurs Docker sont des unités exécutables isolées qui contiennent des applications et leurs dépendances. La suppression des conteneurs Docker peut être effectuée dans différents cas de figure afin de garantir l’efficacité, la sécurité et la clarté de votre environnement Docker.

De manière générale, vous devriez supprimer les conteneurs après leur utilisation. Lorsqu’un conteneur a terminé avec succès sa tâche ou son processus spécifique, il est conseillé de ne pas le garder plus longtemps dans votre environnement. Cela évite que les conteneurs inactifs continuent à mobiliser des ressources et à occuper inutilement de l’espace.

Il est également conseillé de supprimer les conteneurs qui ne sont plus utilisés ou qui n’ont pas reçu de mises à jour depuis un certain temps. Ceci est particulièrement important pour réduire les risques de sécurité, car les anciens conteneurs peuvent présenter des versions logicielles obsolètes ou des failles de sécurité.

Si vous avez des doutes sur la sécurité d’un conteneur ou si vous pensez qu’il pourrait être compromis, supprimez-le immédiatement afin de minimiser les risques. Il en va de même pour les conteneurs qui ne peuvent pas être démarrés en raison de conflits ou d’autres problèmes.

IONOS Cloud Compute Engine

Les moyennes et grandes entreprises choisissent le Cloud Made in Germany. IaaS et PaaS du champion caché aux champions cachés.

Sûr
Fiable
Flexible

Comment supprimer un ou plusieurs conteneurs Docker ?

La suppression d’un ou de plusieurs conteneurs Docker spécifiques est une procédure courante pour supprimer les conteneurs inutiles ou inactifs de l’hôte Docker.

Étape 1 : déterminer l’ID ou le nom du conteneur

Vous devez tout d’abord trouver les ID ou noms des conteneurs que vous souhaitez supprimer. Vous pouvez utiliser la commande suivante pour afficher une liste de tous les conteneurs en cours d’exécution ou arrêtés :

docker ps -a
bash

Étape 2 : supprimer les conteneurs

Vous pouvez simplement indiquer les identifiants ou les noms des conteneurs séparés par des espaces après la commande docker rm :

docker rm container_id_or_name1 container_id_or_name2
bash

Supprimer un conteneur à la fermeture

Pour supprimer automatiquement un conteneur Docker à la fermeture, placez l’option (flag) --rm lorsque vous démarrez le conteneur avec la commande docker run. Cette option permet que le conteneur soit automatiquement supprimé dès qu’il est arrêté.

docker run --rm nom_image
bash

Comment supprimer les conteneurs Docker terminés ?

Il est également possible de supprimer tous les conteneurs terminés en une seule fois, en filtrant les conteneurs selon leur état et en les supprimant avec rm.

Étape 1 : lister les conteneurs terminés

L’option -f status=exited permet de filtrer la liste des conteneurs pour n’afficher que ceux qui sont terminés.

docker ps -a -f status=exited
bash

Étape 2 : supprimer les conteneurs terminés

L’étape précédente permet d’obtenir les identifiants des conteneurs terminés afin de les transmettre directement à la commande docker rm.

docker rm $(docker ps -a -f status=exited -q) 
bash

Supprimer des conteneurs avec plus d’un filtre

Vous pouvez supprimer des conteneurs Docker avec plus d’un filtre en appliquant la commande docker ps en combinaison avec les options de filtrage, puis en transmettant la sortie à la commande docker rm.

Étape 1 : lister les conteneurs avec des filtres

La commande docker ps avec les options de filtre permet de lister les conteneurs en fonction des critères souhaités. « created » est, avec « exited », un autre état sélectionnable. Les conteneurs dans l’état created sont ceux qui ont été créés mais pas encore exécutés.

docker ps -a -f status=exited -f status=created 
bash

Étape 2 : supprimer les conteneurs Docker

Comme dans l’exemple précédent, il faut transmettre le résultat à la commande docker rm.

docker rm $(docker ps -a -f status=exited -f status=created -q)
bash

Comment supprimer les conteneurs selon un modèle ?

La méthode consiste à trouver tous les conteneurs Docker qui correspondent à un modèle particulier, puis à les supprimer avec awk, xargs et docker rm. Cette technique est un moyen puissant de supprimer des conteneurs de manière sélective.

Étape 1 : trouver tous les conteneurs avec un modèle

Si vous utilisez la commande docker ps -a en combinaison avec grep, vous obtiendrez tous les conteneurs dont le nom ou les tags correspondent à un modèle spécifique. Par exemple, cette commande permet de lister les conteneurs dont le nom commence par « test- » :

docker ps -a | grep "test-" 
bash

Étape 2 : supprimer les conteneurs Docker

La commande awk vous permet de sélectionner des colonnes spécifiques dans le résultat de sortie. Dans le cas présent, l’objectif est d’extraire la première colonne, qui contient les identifiants des conteneurs. Ensuite, on peut utiliser xargs pour transmettre les identifiants à la commande docker rmi et supprimer les conteneurs Docker.

docker ps -a | grep "test-" | awk '{print $1}'. | xargs docker rmi
bash

Comment arrêter et supprimer tous les conteneurs ?

Vous pouvez arrêter et supprimer tous les conteneurs actifs et inactifs de votre système en une seule fois. Cela peut être utile si vous souhaitez effectuer un nettoyage complet de votre environnement Docker.

Étape 1 : lister les conteneurs

Pour vérifier la liste des conteneurs, tapez la commande suivante :

docker ps -a
bash

Étape 2 : arrêter les conteneurs

Une fois que vous avez pris votre décision, transférez la sortie de l’étape précédente à docker stop. Cela arrêtera tous les conteneurs.

docker stop $(docker ps -a -q)
bash

Étape 3 : supprimer les conteneurs Docker arrêtés

Une fois que tous les conteneurs ont été arrêtés, vous pouvez les supprimer avec la commande docker rm :

docker rm $(docker ps -a -q)
bash

Contrairement aux conteneurs Docker normaux, les volumes de conteneurs Docker sont des mécanismes avec lesquels les données peuvent être persistées et échangées entre les conteneurs et le système hôte. Vous trouverez dans notre guide d’autres tutoriels sur la manière de supprimer un volume Docker ou une image Docker.