Nettoyer les volumes Docker orphelins

Comme je l’ai indiqué dans mes articles précédents sur les volumes, Docker ne supprime jamais de lui-même un volume lors de la disparition d’un conteneur. Ce qui signifie que vous avez probablement plein de volumes orphelins 🙂

Supprimer un volume en supprimant un conteneur

Lors de la suppression d’un conteneur, vous avez la possibilité de suprrimer explicitement le volume attaché en même temps grâce à l’option -v de la commande docker rm.

Par exemple cette commande supprime le volume 8b5 et le volume attaché :

# docker rm -v 8b5
8b5

Supprimer les conteneurs orphelins

Les conteneurs orphelins peuvent être listés avec la commande docker volume ls en spécifiant l’option -f dangling=true.

Exemple :

# docker volume ls -f dangling=true
DRIVER              VOLUME NAME
local               7a580f460fb61a5ed77b70c2e05320315de22ad9a684692854418bc77eeffa35
local               424713fe7be69256b5d876f01307db33ff969244f2618005823ad0dd5c4b4834
local               0afb23ec7f105227efd8702671133e0b4fa52d3d63e57419f76ba470124b1340
local               5449a081d53f1909e11aa8c7fe9f69626e69c34f843ae252036e65891f61f033
local               223aa9f8a5b6285912e0d3834e928b12f2304f3c63ef6624dbaad66b915cbd4f

Pour supprimer tous ces volumes en une fois, j’utilise une petite combinaison de commandes Linux :

# docker volume ls -qf dangling=true | xargs -r docker volume rm

L’option -q que j’ai ajouté correspond à l’option quiet qui n’affiche que les identifiants de volumes, sans en-tête ou colonne DRIVER

Si je liste de nouveau les volumes orphelins, je n’ai plus rien :

# docker volume ls -f dangling=true
DRIVER              VOLUME NAME

Et voilà, à vous de voir ensuite si vous voulez faire ce nettoyage manuellement régulièrement ou positionner cette routine dans un fichier cron.

1 réflexion sur « Nettoyer les volumes Docker orphelins »

  1. Merci, c’est ce qui manquait à mon script de nettoyage de mes postes de travail pour récupérer tout l’espace inutilement occupé (après les containers stoppés et les images inutiles).

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.