Comment nettoyer et supprimer des images Docker

0
192

Les images Docker peuvent être très volumineuses, et si vous travaillez souvent avec des conteneurs, cela peut prendre beaucoup de temps de votre stockage. Nous verrons comment nettoyer vos images téléchargées et supprimer les anciens fichiers dont vous n'avez pas besoin.

Images Docker vs. Docker Conteneurs

Les images Docker gèrent leurs données différemment des conteneurs. Les images sont des fichiers en lecture seule créés à partir de Dockerfiles et transmis au Docker Hub. Chaque fois que vous téléchargez une nouvelle version, Docker doit télécharger les fichiers de cette nouvelle version. Les anciennes versions sont toujours stockées sur votre disque local.

Les conteneurs sont constitués d'images et ont généralement leur propre système de fichiers et volumes qui leur sont attachés. Lorsque vous arrêtez le conteneur, toutes les données non stockées sur un volume seront supprimées. Ainsi, pour nettoyer les données utilisées par les conteneurs, il vous suffit de les arrêter et de supprimer leurs volumes.

Pour nettoyer les images, Docker fournit quelques commandes pour exécuter le ramasse-miettes.

Élagage des images

Vous vous retrouverez inévitablement avec des images qui ne sont pas utilisées, qu'il s'agisse d'anciennes versions d'images ou d'images provenant de conteneurs qui ne sont pas en cours d'exécution. Dans tous les cas, la suppression d'une image ne présente généralement aucun problème—si vous en avez à nouveau besoin, Docker peut simplement la récupérer à partir du référentiel distant.

Publicité

Pour afficher toutes les images stockées sur votre système, vous pouvez utiliser la commande suivante :

docker image ls

Bien que toutes ces versions aient l'air d'occuper beaucoup d'espace dans cette sortie, différentes versions sont stockées de manière incrémentielle, de sorte que seules les modifications de la nouvelle version sont réellement stockées sur le disque.

Vous pouvez supprimer une image manuellement donnée c'est l'ID de l'image :

docker image rm 3a8d8f76e7f8f

Cependant, une méthode beaucoup plus sûre consiste à utiliser la commande prune intégrée, qui recherchera dans toutes les images pour trouver et supprimer celles sans références actives :

docker image prune -a

L'omission de la balise -a conservera les images taguées mais non utilisées. Avec le drapeau, seules les images que vous utilisez activement resteront.

La commande prune vous indiquera combien d'espace a été libéré, mais si vous souhaitez vérifier manuellement la quantité de stockage utilisée par Docker avant et après, vous pouvez utiliser du -sh sur le répertoire de stockage Docker :

sudo du -sh /var/lib/docker/Advertisement

Ce répertoire sera situé dans C:ProgramDataDockerDesktop sous Windows et ~/Library/Containers/com.docker.docker/Data/vms/0/ sur macOS.