Les con­te­neurs Docker con­som­ment de l’espace et des res­sources sur votre système hôte. En sup­pri­mant les con­te­neurs inutiles, vous pouvez libérer un espace de stockage précieux et améliorer les per­for­mances de votre système.

Quand faut-il supprimer un conteneur Docker ?

Les con­te­neurs Docker sont des unités exé­cu­tables isolées qui con­tien­nent des ap­pli­ca­tions et leurs dé­pen­dances. La sup­pres­sion des con­te­neurs Docker peut être effectuée dans dif­fé­rents cas de figure afin de garantir l’ef­fi­ca­cité, la sécurité et la clarté de votre en­vi­ron­ne­ment Docker.

De manière générale, vous devriez supprimer les con­te­neurs après leur uti­li­sa­tion. Lorsqu’un conteneur a terminé avec succès sa tâche ou son processus spé­ci­fique, il est conseillé de ne pas le garder plus longtemps dans votre en­vi­ron­ne­ment. Cela évite que les con­te­neurs inactifs con­ti­nuent à mobiliser des res­sources et à occuper inu­ti­le­ment de l’espace.

Il est également conseillé de supprimer les con­te­neurs qui ne sont plus utilisés ou qui n’ont pas reçu de mises à jour depuis un certain temps. Ceci est par­ti­cu­liè­re­ment important pour réduire les risques de sécurité, car les anciens con­te­neurs peuvent présenter des versions lo­gi­cielles 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 im­mé­dia­te­ment afin de minimiser les risques. Il en va de même pour les con­te­neurs qui ne peuvent pas être démarrés en raison de conflits ou d’autres problèmes.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Comment supprimer un ou plusieurs con­te­neurs Docker ?

La sup­pres­sion d’un ou de plusieurs con­te­neurs Docker spé­ci­fiques est une procédure courante pour supprimer les con­te­neurs inutiles ou inactifs de l’hôte Docker.

Étape 1 : dé­ter­mi­ner l’ID ou le nom du conteneur

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

docker ps -a
bash

Étape 2 : supprimer les con­te­neurs

Vous pouvez sim­ple­ment indiquer les iden­ti­fiants ou les noms des con­te­neurs 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 au­to­ma­ti­que­ment 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 au­to­ma­ti­que­ment supprimé dès qu’il est arrêté.

docker run --rm nom_image
bash

Comment supprimer les con­te­neurs Docker terminés ?

Il est également possible de supprimer tous les con­te­neurs terminés en une seule fois, en filtrant les con­te­neurs selon leur état et en les sup­pri­mant avec rm.

Étape 1 : lister les con­te­neurs terminés

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

docker ps -a -f status=exited
bash

Étape 2 : supprimer les con­te­neurs terminés

L’étape pré­cé­dente permet d’obtenir les iden­ti­fiants des con­te­neurs terminés afin de les trans­mettre di­rec­te­ment à la commande docker rm.

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

Supprimer des con­te­neurs avec plus d’un filtre

Vous pouvez supprimer des con­te­neurs Docker avec plus d’un filtre en ap­pli­quant la commande docker ps en com­bi­nai­son avec les options de filtrage, puis en trans­met­tant la sortie à la commande docker rm.

Étape 1 : lister les con­te­neurs avec des filtres

La commande docker ps avec les options de filtre permet de lister les con­te­neurs en fonction des critères souhaités. « created » est, avec « exited », un autre état sé­lec­tion­nable. Les con­te­neurs 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 con­te­neurs Docker

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

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

Comment supprimer les con­te­neurs selon un modèle ?

La méthode consiste à trouver tous les con­te­neurs Docker qui cor­res­pon­dent à un modèle par­ti­cu­lier, puis à les supprimer avec awk, xargs et docker rm. Cette technique est un moyen puissant de supprimer des con­te­neurs de manière sélective.

Étape 1 : trouver tous les con­te­neurs avec un modèle

Si vous utilisez la commande docker ps -a en com­bi­nai­son avec grep, vous ob­tien­drez tous les con­te­neurs dont le nom ou les tags cor­res­pon­dent à un modèle spé­ci­fique. Par exemple, cette commande permet de lister les con­te­neurs dont le nom commence par « test- » :

docker ps -a | grep "test-"
bash

Étape 2 : supprimer les con­te­neurs Docker

La commande awk vous permet de sé­lec­tion­ner des colonnes spé­ci­fiques dans le résultat de sortie. Dans le cas présent, l’objectif est d’extraire la première colonne, qui contient les iden­ti­fiants des con­te­neurs. Ensuite, on peut utiliser xargs pour trans­mettre les iden­ti­fiants à la commande docker rmi et supprimer les con­te­neurs Docker.

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

Comment arrêter et supprimer tous les con­te­neurs ?

Vous pouvez arrêter et supprimer tous les con­te­neurs actifs et inactifs de votre système en une seule fois. Cela peut être utile si vous souhaitez effectuer un nettoyage complet de votre en­vi­ron­ne­ment Docker.

Étape 1 : lister les con­te­neurs

Pour vérifier la liste des con­te­neurs, tapez la commande suivante :

docker ps -a
bash

Étape 2 : arrêter les con­te­neurs

Une fois que vous avez pris votre décision, trans­fé­rez la sortie de l’étape pré­cé­dente à docker stop. Cela arrêtera tous les con­te­neurs.

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

Étape 3 : supprimer les con­te­neurs Docker arrêtés

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

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

Con­trai­re­ment aux con­te­neurs Docker normaux, les volumes de con­te­neurs Docker sont des mé­ca­nismes avec lesquels les données peuvent être per­sis­tées et échangées entre les con­te­neurs 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.

Aller au menu principal