Entfernen von Volumes mit Label-Filtern
In diesem letzten Schritt lernen wir, wie man Volumes basierend auf Labels (Markierungen) entfernt. Dies ist eine leistungsstarke Methode, um gezielt Volumes zu entfernen, die bestimmten Kriterien entsprechen, ohne andere Volumes zu beeinflussen.
Zunächst erstellen wir ein paar neue Volumes mit verschiedenen Labels, damit wir etwas zu filtern haben.
docker volume create --label env=dev dev_volume
docker volume create --label env=prod prod_volume
docker volume create --label type=data data_volume
Wir haben drei neue Volumes erstellt: dev_volume
mit dem Label env=dev
, prod_volume
mit dem Label env=prod
und data_volume
mit dem Label type=data
.
Lassen Sie uns die Volumes auflisten, um die neu erstellten zu sehen.
docker volume ls
Sie sollten dev_volume
, prod_volume
und data_volume
in der Liste sehen.
Jetzt entfernen wir nur die Volumes, die das Label env=dev
haben. Wir können den --filter
-Schalter mit dem label
-Schlüssel verwenden.
docker volume prune --filter label=env=dev
Docker wird um Bestätigung bitten. Geben Sie y
ein und drücken Sie die Eingabetaste.
Die Ausgabe zeigt, dass dev_volume
entfernt wurde.
Lassen Sie uns die Volumes erneut auflisten, um zu bestätigen, dass nur dev_volume
entfernt wurde.
docker volume ls
Sie sollten jetzt prod_volume
und data_volume
noch in der Liste sehen.
Wir können auch nach Labels filtern, die nicht vorhanden sind. Beispielsweise entfernen wir Volumes, die nicht das Label type=data
haben.
docker volume prune --filter label!=type=data
Docker wird um Bestätigung bitten. Geben Sie y
ein und drücken Sie die Eingabetaste.
Die Ausgabe zeigt, dass prod_volume
entfernt wurde.
Lassen Sie uns die Volumes ein letztes Mal auflisten, um zu sehen, was übrig bleibt.
docker volume ls
Sie sollten jetzt nur noch data_volume
in der Liste sehen.
Dies zeigt, wie Sie Label-Filter verwenden können, um Volumes gezielt nach Ihren Bedürfnissen zu entfernen.