Volumes nach 'dangling'-Status filtern
In diesem Schritt lernen wir, wie man Docker-Volumes (Docker-Datenträger) anhand ihres "dangling"-Status (ungeordneter Status) filtern kann. Ein "dangling" Volume ist ein Volume, das derzeit keinem Container zugeordnet ist. Diese Volumes können unnötig Speicherplatz belegen.
Um nach "dangling" Volumes zu filtern, verwenden wir die Option --filter dangling=true.
Zunächst erstellen wir einen Container und ordnen ihm eines unserer Volumes zu. Wir verwenden das ubuntu-Image. Wenn Sie das ubuntu-Image nicht lokal haben, lädt Docker es automatisch herunter.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
Dieser Befehl startet einen Container namens mycontainer im detached-Modus (-d), bindet das Volume myvolume an das Verzeichnis /app innerhalb des Containers (-v myvolume:/app), verwendet das ubuntu-Image und lässt den Container für eine Stunde laufen (sleep 3600).
Nun listen wir alle Volumes erneut auf:
docker volume ls
Sie werden sowohl myvolume als auch another_volume sehen. myvolume wird derzeit von mycontainer verwendet. another_volume ist keinem Container zugeordnet, es ist also ein "dangling" Volume.
Nun filtern wir nach "dangling" Volumes:
docker volume ls --filter dangling=true
In der Ausgabe sollte another_volume aufgeführt sein, da es keinem laufenden Container zugeordnet ist.
Um Volumes anzuzeigen, die nicht "dangling" sind (d. h., die einem Container zugeordnet sind), können Sie --filter dangling=false verwenden.
docker volume ls --filter dangling=false
Dies sollte myvolume anzeigen.
Schließlich stoppen und entfernen wir den von uns erstellten Container.
docker stop mycontainer
docker rm mycontainer
Wenn Sie nun erneut "dangling" Volumes auflisten:
docker volume ls --filter dangling=true
Sowohl myvolume als auch another_volume sollten nun als "dangling" erscheinen, da myvolume keinem Container mehr zugeordnet ist.