Supprimer les images locales dans Docker

Isaac Tony 15 février 2024
  1. Supprimer les images locales inutilisées et pendantes dans Docker
  2. Supprimer des images locales spécifiques dans Docker
  3. Supprimer les images locales non balisées à l’aide de filtres dans Docker
  4. Supprimer toutes les images locales dans Docker
Supprimer les images locales dans Docker

Ce tutoriel présentera les méthodes pour supprimer des images locales dans Docker.

Supprimer les images locales inutilisées et pendantes dans Docker

Supposons qu’en plus d’avoir des images docker non balisées, vous ayez également des images inutilisées et certains conteneurs que vous voudriez également supprimer. Dans ce cas, optez pour la commande ci-dessous.

$ docker system prune -a

Cette commande affichera un avertissement vous informant que si vous sélectionnez oui, cette commande :

  • Supprimer tous les conteneurs arrêtés ;
  • Supprimer tous les réseaux non utilisés par au moins un conteneur ;
  • Supprimer toutes les images sans au moins un conteneur qui leur est associé ;
  • Supprimer tout le cache.

Cependant, si cette commande n’est pas conforme à ce que vous devez accomplir, et que vous souhaitez uniquement supprimer :

  • Images non étiquetées ou pendantes ;
  • Conteneurs arrêtés ;
  • Cache suspendu;
  • Réseaux non utilisés par au moins un conteneur.

Dans ce cas, utilisez la commande prune sans inclure la balise -a, comme indiqué ci-dessous.

$ docker system prune

Supprimer des images locales spécifiques dans Docker

Nous pouvons également vouloir supprimer une image spécifique de notre système local et laisser tous les autres fichiers intacts.

Dans ce cas, nous aurons besoin d’un ID d’image de ces images particulières que nous aimerions supprimer. Nous pouvons y accéder via la page des images de l’application de bureau Docker.

Accéder à l’ID d’image à l’aide de Docker Desktop

Nous pouvons également accéder à l’ID d’image à l’aide de notre terminal ou de Docker CLI en exécutant la commande ci-dessous.

isaactonyloi@DESKTOP-HV44HT6:~$ docker images -a
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

Maintenant que nous avons obtenu l’ID de l’image, nous pouvons supprimer cette image spécifique à l’aide de la commande docker rmi ajoutée à l’ID des images, comme indiqué ci-dessous.

$ docker rmi c316d5a335a5

Production:

Untagged: nginx:latest
Untagged: nginx@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Deleted: sha256:c316d5a335a5cf324b0dc83b3da82d7608724769f6454f6d9a621f3ec2534a5a
Deleted: sha256:67e568696593c33b4a15c9d81dc6f67499b8d973b88eb49b53d47bf4dbf4d187
Deleted: sha256:0f8d4e3d979c540644f248b4206cf540978166b095223bdc950628dca2e8f3f1
Deleted: sha256:5d75bfe8a7422476a495b27c8a1598d1206137631d350b8bdee13bc88f365282
Deleted: sha256:8284a9e28c625b2826efdd6160ea1ff7f710881a4a2afe1ef58a5eb51d3f919e
Deleted: sha256:89a1db9e1079b7574c1a707bc8c1fe04ff723bc71d4bca8bc48653e9a32186d2
Deleted: sha256:7d0ebbe3f5d26c1b5ec4d5dbb6fe3205d7061f9735080b0162d550530328abd6

Supprimer les images locales non balisées à l’aide de filtres dans Docker

Nous pouvons également utiliser des filtres et des caractères génériques pour identifier les images pendantes, c’est-à-dire les images non associées à un conteneur. Nous pouvons localiser les images qui satisfont la condition dangling=true en utilisant la balise de filtre -f.

La commande ci-dessous doit répertorier toutes les images non associées à un conteneur. Cependant, veuillez noter que s’il n’y a pas d’images non étiquetées dans votre système, la commande ne renverra que les en-têtes.

$ docker images -a -f dangling=true
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    c316d5a335a5   3 weeks ago   142MB

Supprimer toutes les images locales dans Docker

La balise -q nous permet de récupérer et de répertorier tous les ID d’image dans notre système local lorsqu’elle est utilisée avec la balise -a.

$ docker images -a -q
54c9d81cbb44
c316d5a335a5

En utilisant cette commande, nous pouvons lister toutes les images sous le docker rmi pour supprimer toutes les images de notre système. Voici comment imbriquer cette commande pour éliminer toutes les images.

$ docker rmi $(docker images -a -q)

Production:

Untagged: ubuntu:latest
Untagged: ubuntu@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db83444636c300170cfd211e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f688797f2f1e3af224c29593310578d2
Auteur: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Article connexe - Docker Image