Filtrer les volumes par statut "dangling"
Dans cette étape, nous apprendrons à filtrer les volumes Docker en fonction de leur statut "dangling" (non utilisé). Un volume "dangling" est un volume qui n'est actuellement attaché à aucun conteneur. Ces volumes peuvent consommer inutilement de l'espace disque.
Pour filtrer les volumes "dangling", nous utilisons le drapeau --filter dangling=true
.
Tout d'abord, créons un conteneur et attachons-lui l'un de nos volumes. Nous utiliserons l'image ubuntu
. Si vous n'avez pas l'image ubuntu
localement, Docker la téléchargera automatiquement.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
Cette commande exécute un conteneur nommé mycontainer
en mode détaché (-d
), monte le volume myvolume
dans le répertoire /app
à l'intérieur du conteneur (-v myvolume:/app
), utilise l'image ubuntu
et maintient le conteneur en cours d'exécution pendant une heure (sleep 3600
).
Maintenant, listons à nouveau tous les volumes :
docker volume ls
Vous verrez à la fois myvolume
et another_volume
. myvolume
est actuellement utilisé par mycontainer
. another_volume
n'est attaché à aucun conteneur, il s'agit donc d'un volume "dangling".
Maintenant, filtrons les volumes "dangling" :
docker volume ls --filter dangling=true
Vous devriez voir another_volume
répertorié dans la sortie, car il n'est attaché à aucun conteneur en cours d'exécution.
Pour voir les volumes qui ne sont pas "dangling" (c'est-à-dire attachés à un conteneur), vous pouvez utiliser --filter dangling=false
.
docker volume ls --filter dangling=false
Cela devrait afficher myvolume
.
Enfin, arrêtons et supprimons le conteneur que nous avons créé.
docker stop mycontainer
docker rm mycontainer
Maintenant, si vous liste à nouveau les volumes "dangling" :
docker volume ls --filter dangling=true
À présent, myvolume
et another_volume
devraient apparaître comme "dangling", car myvolume
n'est plus attaché à un conteneur.