Alle Docker-Images entfernen, die keinem Container zugeordnet sind
In unserem vorherigen Beitrag haben wir gezeigt, wie man Docker-Images bereinigt, um Speicherplatz auf Ihrer Festplatte freizugeben. Dieser Ansatz entfernt jedoch keine Images, die mit Tags (d.h. Namen) verknüpft sind.
Oft möchten Sie alle Images entfernen, die von keinem der Container benötigt werden (sowohl laufende als auch gestoppte Container).
Das ist ziemlich einfach:
docker image ls --format '{{.ID}}' | xargs docker image rmDieser Befehl listet alle Image-IDs mit docker image ls --format '{{.ID}}' auf und führt docker image rm für jede Image-ID aus.
Da docker image rm für Images fehlschlägt, die entweder mit einem laufenden oder einem gestoppten Container verknüpft sind (daher wird dieses Image nicht gelöscht), werden nur die Images gelöscht, die mit keinem Container verknüpft sind.
Falls Sie viele dieser Fehlermeldungen als Ausgabe des Befehls erhalten:
Error response from daemon: conflict: unable to delete 1f9cfa8dc305 (cannot be forced) - image is being used by running container 22a27af7d595
Error response from daemon: conflict: unable to delete 9af515ad5c74 (must be forced) - image is being used by stopped container 2ebcbd936841keine Sorge, das ist in Ordnung, das bedeutet nur, dass eines Ihrer Images mit einem Container verknüpft ist und daher nicht gelöscht wird.