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.