[Docker] – Remettre à neuf votre installation Docker / Supprimer toutes les données
Coucou jeune développeur,
Si tu tombes sur cet article, c'est probablement que toi aussi tu as constaté que Docker était très gourmand en stockage ...
Lorsque tu construis des images Docker, tu es amené à builder, rebuilder, re-re-rebuilder ...
Chaque fois Docker, garde en mémoire tous ces changements, ça permet par exemple, de pouvoir revenir en arrière en cas de problème.
Vos builds vont générer beaucoup de cache, dans l'objectif unique de vous faire gagner pas mal de temps ... surtout si vous créez de grosses images dockers, et que vous devez faire souvent des changements !
J'ai donc résumé ici les quelques étapes qui vous permettront de "purger" votre installation Docker de toutes ses données.
Cela vous permettra soit de réparer Docker, si celui-ci se met à ne plus vouloir entendre raison ! Soit de récupérer un peu de place sur votre espace disque.
Éteindre le service Docker
Pour éviter que Docker ne manipule des fichiers à droite ou à gauche et
pour libérer d'éventuels fichiers verrouillés, nous allons d'abord commencer par stopper le service Docker.
systemctl stop docker
Supprimer le répertoire de travail utilisé par Docker
Par défaut le répertoire de travail qu'utilise Docker est "/var/lib/docker".
Celui-ci va contenir tout un tas de fichiers temporaires, de sauvegardes de vos images, ...
rm -fr /var/lib/docker
Trouver et supprimer le "Volume Logique" de Docker
Chez moi celui-ci se nomme "Docker-Pool".
Pour savoir comment celui-ci s'appelle chez vous, je vous invite à utiliser la commande lvdisplay
lvdisplay
Si vous trouvez un volume logique, contenant le mot "docker", c'est gagné !
Il suffit de récupérer le "LV Name" et le "VG Name" (Volume Logique, et le Volume Groupe)
Dans l'hypothèse où le "LV Name" est "Docker-pool", et que le "VG Name" est "rootVG"
Il faudra supprimer le Volume Logique avec la commande suivante :
lvremove rootVG/Docker-pool
Reconstruire le stockage Docker
La magie de Docker, fait qu'il existe une commande toute prête, qui va automatiquement recréer tout ce que nous avons détruit !
docker-storage-setup
Vous devriez alors voir quelques Warning apparaître, mais rien de bien grave !
Redémarrer Docker
Lorsque toutes ces étapes auront été réalisées, vous devriez avoir vraiment purgé votre installation Docker.
Il faudra donc remettre en route le service Docker
systemctl start docker
Conclusion
Surveillez régulièrement l'espace qu'utilise Docker !
C'est un petit gourmand, qui peut nous offrir bien des surprises.
docker info
Je vous souhaite à tous une bonne soirée, et un bon début de semaine !
Efficace.
un petit ajout pour ceux qui ne souhaite/peuvent pas éteindre leur deamon docker
#delete all non running containers
docker rm $(docker ps -a -q)
# delete all unused images
docker rmi -f $(docker images -q)
# remove all unused containers
docker volume ls -qf dangling=true | xargs -r docker volume rm
## for docker >= 1.13 (remove all unused volume)
docker volume prune