Docker ist heutzutage eines der beliebtesten Produkte in Unternehmen. Es macht den Prozess der Verwaltung von Anwendungen in Containern sehr einfach. Docker bietet Portabilität, Leistung, Agilität, Skalierbarkeit und Isolation für die Anwendungen, da es Container verwendet. Container sind portabler und benötigen weniger Ressourcen als virtuelle Maschinen. Wenn Sie mit Docker arbeiten, neigen Sie dazu, eine übermäßige Anzahl ungenutzter Images, Volumes und Container anzuhäufen. Diese Ressourcen verstopfen die Ausgabe und verbrauchen viel Speicherplatz. In diesem Tutorial lernen Sie, wie Sie Docker-Ressourcen bereinigen und Ihren Server organisieren.
Alles bereinigen
Sie können alle Docker-Ressourcen einschließlich Images, gestoppter Container, Volumes und Netzwerke mit einem einzigen Befehl bereinigen. Sie können eine der folgenden Optionen wählen:
Referenz: Verwaiste Ressourcen sind diejenigen, die mit keinem laufenden Container verknüpft sind.
Option 1:
|
1 |
docker system prune |
– alle gestoppten Container
– alle Netzwerke, die nicht von mindestens einem Container verwendet werden
– alle verwaisten Images
– alle verwaisten Build-Caches
Option 2:
|
1 |
docker system prune -a |
– alle gestoppten Container
– alle Netzwerke, die nicht von mindestens einem Container verwendet werden
– alle Images, mit denen kein Container verknüpft ist
– alle Build-Caches
Option 3:
|
1 |
docker system prune -a --volumes |
– alle gestoppten Container
– alle Netzwerke, die nicht von mindestens einem Container verwendet werden
– alle Volumes, die nicht von mindestens einem Container verwendet werden
– alle Images, mit denen kein Container verknüpft ist
– alle Build-Caches

Docker-Images entfernen
Um ein bestimmtes Image zu entfernen, müssen Sie dessen Image-ID kennen. Sie finden die Image-ID eines Docker-Containers mit dem Befehl “docker images”, wie in unserem Tutorial über wie man Docker auf Ubuntu installiert & betreibt.
Images auflisten:
|
1 |
docker images |
Image entfernen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <Image-ID> Beispiel: docker rmi 1d622ef86b13 Ausgabe: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Verwaiste Images entfernen:
Wenn Sie ein Docker-Image erstellen, besteht es im Allgemeinen aus mehreren Image-Ebenen. Verwaiste Images (dangling images) sind die Ebenen, die keine Beziehung zu einem getaggten Image haben. Verwaiste Images verbrauchen Speicherplatz, erfüllen aber keinen Zweck. Sie können mit folgendem Befehl aufgelistet werden:
|
1 |
docker images -f dangling=true |
Sie können diese Images entfernen, indem Sie den folgenden Befehl ausführen:
|
1 |
docker image prune |
Images basierend auf einem Muster entfernen
Sie können Images basierend auf einem bestimmten Muster mithilfe des Befehls “grep” leicht finden und sie dann entfernen, indem Sie sie mit “awk” an den Befehl “docker rmi” übergeben. Sie können die folgenden Befehle verwenden und „pattern“ in jedem von ihnen ersetzen:
Auflisten:
|
1 |
docker images -a | grep "pattern" |
Entfernen:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Alle Images entfernen
Sie können alle Docker-Images mit folgendem Befehl auflisten:
|
1 |
docker images -a |
Sobald Sie sich entschieden haben, alle zu entfernen, können Sie diesen Befehl verwenden, um alle zu löschen:
|
1 |
docker images -a -q | xargs docker rmi |
Container entfernen:
Nachdem Sie nun alle unnötigen Images bereinigt haben, ist es an der Zeit, einige der nicht benötigten Container zu löschen.
Um die Container aufzulisten, können Sie folgenden Befehl verwenden:
|
1 |
docker ps -a |
Um die Container zu entfernen, verwenden Sie den Befehl:
|
1 |
docker rm <<Container-Name/Container-ID>> |
Container vorübergehend ausführen
Wenn Sie den Container nur einmal ausführen möchten, können Sie festlegen, dass der Container nach dem Beenden automatisch gelöscht wird. Dies können Sie mit folgendem Befehl tun:
|
1 |
docker run --rm <<ImageName>> |
Beendete Container entfernen
Sie können die beendeten Container mit dem Argument “-f” filtern. Listen Sie die beendeten Container mit folgendem Befehl auf:
|
1 |
docker ps -a -f status=exited |
Nachdem Sie sie gefiltert haben, entfernen Sie sie mit diesem Befehl:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Container basierend auf einem Muster entfernen
Sie können Container basierend auf einem bestimmten Muster mithilfe des Befehls “grep” leicht finden und sie dann entfernen, indem Sie sie mit “awk” an den Befehl “docker rm” übergeben. Sie können die folgenden Befehle verwenden und das “pattern” in jedem von ihnen ersetzen.
Liste:
|
1 |
docker ps -a | grep "pattern" |
Entfernen:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Alle Container stoppen und entfernen
Überprüfen Sie vorher alle Container auf Ihrem Server, indem Sie sie auflisten. Erst wenn Sie sicher sind, dass Sie sie löschen möchten, führen Sie die folgenden Befehle aus:
Listen Sie die Container zur Überprüfung auf:
|
1 |
docker ps -a |
Stoppen und Entfernen:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Volumes entfernen
Ein bestimmtes Volume entfernen
Um ein bestimmtes Volume zu entfernen, müssen Sie den Volume-Namen kennen. Um diesen herauszufinden, können Sie die Volumes auflisten.
Liste:
|
1 |
docker volume ls |
Entfernen:
|
1 |
docker volume rm <<VolumeName>> |
Verwaiste Volumes entfernen
Wenn Sie einen Container entfernen, wird das daran angehängte Volume nicht automatisch entfernt. Ein solches Volume wird als verwaistes Volume (dangling volume) bezeichnet. Um solche Volumes zu finden, verwenden Sie das Filter-Argument im Befehl:
|
1 |
docker volume ls -f dangling=true |
Um alle diese verwaisten Volumes zu entfernen, verwenden Sie den Befehl:
|
1 |
docker volume prune |
Einen Container und sein unbenanntes Volume entfernen
Wenn Sie beim Ausführen des Containers ein anonymes oder unbenanntes Volume erstellt haben, können Sie dieses zusammen mit dem Container mit einem einzigen Befehl entfernen. Wenn das Volume jedoch benannt ist, wird nur der Container gelöscht.
|
1 |
docker rm -v <<ContainerName>> |
Da Sie nun diesen Spickzettel haben, sollten Sie bereit sein, nicht mehr benötigte Docker-Ressourcen auf Ihrem Server zu bereinigen.
Fröhliches Schaffen!


Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.