Docker : faire le ménage et libérer de l’espace disque

Dans ce tutoriel, je vais vous expliquer comment faire le ménage dans Docker pour libérer de l’espace disque sur votre serveur ou ordinateur.

Même si les images des conteneurs Docker ne prennent pas forcement beaucoup de place, Docker peut occuper un espace conséquent sur un ordinateur surtout quand :

  • On peut régulièrement à jour les images
  • On compile nos propres images
  • Quand on arrête des services

Au bout de quelques temps, on peut avoir plusieurs dizaines de Giga d’espace disque utilisé par des fichiers qui ne sont plus utilisés.

On va voir comment faire pour récupérer cette espace.

Afficher l’espace utilisé par Docker

Pour commencer afin d’avoir une idée de l’espace total utilisé on peut utiliser la commande suivante :

sudo docker system df

Cette commande nous affiche l’espace disque utilisé par Docker que ce soit les images et volumes des conteneurs et aussi le cache des builds.

La commande nous indique également l’espace disque qui peut être récupérer dans la colonne RECLAIMABLE.

Pour faire le ménage, on peut s’y prendre de manière :

  • Tout nettoyé en une fois avec une seule commande
  • Passer plusieurs commandes pour supprimer ce que l’on souhaite

Nous allons voir les deux.

Supprimer l’ensemble des éléments inutilisés dans Docker

Le plus simple et le plus rapide pour faire le ménage en une seule fois c’est la commande suivante :

sudo docker system prune --all

La commande demande une confirmation

Patienter pendant le nettoyage :

Une fois le nettoyage effectué, la commande nous retourne l’espace qui a été libéré.

Au total 1.47GB d’espace disque ont été libérés, ce qui est plus que ce qui a été donnée par la commande docker system df.

Ceci s’explique par le nettoyage du cache des builds qui n’avait pas été pris en compte.

Cette solution est pratique, car elle permet de tout nettoyé rapidement à l’exception des volumes.

Supprimer les éléments inutilisés de Docker manuellement

On va voir comment supprimer les éléments suivants :

  • Images
  • Volumes
  • Réseaux
  • Cache des builds

A chaque fois la commande demande une confirmation, pour forcer l’exécution de la commande, il faut ajouter le paramètre -f.

Docker : supprimer les images inutiles

Avant de supprimer les images, vous pouvez utiliser la commande suivante pour les afficher :

sudo docker image ls

Supprimer les images de conteneurs qui ne sont plus utiles :

sudo docker image prune --all

Docker : supprimer les volumes ne sont plus utilisés

La suppression des volumes peut entrainer la perte de données, avant de supprimer les volumes, assurer vous de plus en avoir besoin.

Pour lister les volumes, entrer la commande suivante :

sudo docker volume ls

Pour afficher les détails d’un volume :

sudo docker volume inspect <volume-name>

Entrer la commande ci-après pour supprimer les volumes qui ne sont plus utilisés :

sudo docker volume prune --all

Supprimer les réseaux inutilisés

Pour supprimer les réseaux :

sudo docker network prune

Nettoyer le cache des builds

Pour supprimer le cache des images que vous avez construite entrer la commande suivante :

sudo docker builder prune --all

Le nettoyage de Docker n’a maintenant plus de secret pour vous.




Laisser un commentaire