Wenn Sie eine umfassende Open-Source-Containerplattform benötigen, um Anwendungen und Infrastruktur unabhängig zu machen, ist Docker Ihre sicherste Wahl. Wenn Sie die Möglichkeit hatten, es zu verwenden, wissen Sie bereits, wie leistungsfähig und einfach es zu verwenden ist
Eine große Anzahl von Cloud- und IT-Unternehmen finden es äußerst nützlich, und seine Popularität ist definitiv verdient.
Dies macht es jedoch nicht perfekt. Der Beweis kann in den Einschränkungen gesehen werden, die mit dem Entfernen von Images, Volumes, Containern und Netzwerken einhergehen. Auch wenn diese Befehle verfügbar sind, sind sie nicht so umfassend, wie die Benutzer vielleicht möchten.
Hier sehen Sie die Hauptprobleme, auf die Benutzer stoßen, sowie die Lösungen dafür. Sie erfahren, wie Sie Bilder und Container auf einfache Weise entfernen.
Das Problem
Die Container-Technologie bietet eine Möglichkeit, Betriebssysteme zu visualisieren. Es ermöglicht das Paketieren einer App mit allem, was zum Ausführen erforderlich ist, wodurch sie unabhängig vom Betriebssystem agieren kann.
Container-Images sind eigenständige ausführbare App-Pakete, die alles enthalten, was für eine ordnungsgemäße Funktion einer App erforderlich ist. Laufzeit, Code, Konfigurationen und Systemtools und -bibliotheken sind in jedem Image enthalten.
Wenn Sie Docker verwenden, sammeln sich diese Bilder an. Im Laufe der Zeit sammelt sich eine große Anzahl ungenutzter Images, Datenmengen und Container an, wodurch eine überfüllte Docker-Umgebung entsteht. In diesem Fall muss die Umgebung aktualisiert werden, damit die Plattform ordnungsgemäß funktioniert.
Es gibt mehrere Befehle, die dies bewirken können, also werfen wir einen Blick auf die wichtigsten Möglichkeiten, Ihre Docker-Umgebung zu entrümpeln.
Docker-Images entfernen
Bevor Sie die nicht benötigten Bilder entfernen können, müssen Sie sie von den nützlichen unterscheiden. Dies lässt sich leicht bewerkstelligen, indem Sie alle Bilder auflisten, die Ihr System enthält, indem Sie den Bildverwaltungsbefehl verwenden.
So sieht es aus:
$ docker image #list the most recently created images
Oder
$ docker image -a #list all images
Mit dem zweiten Befehl sehen Sie alle Ihre Docker-Bilder. Alles, was Sie tun müssen, ist, die sogenannten „hängenden Bilder“ zu finden. Dies sind alles Docker-Images, die kein Tag enthalten. Ohne das Tag besteht keine Verbindung zu den getaggten Bildern, was bedeutet, dass sie nicht mehr nützlich sind.
Sie können ein oder mehrere Bilder löschen, indem Sie die Bild-ID verwenden. Verwenden Sie dazu einen dieser Befehle:
$ docker rmi d65c4d6a3580 #remove a single image
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images
Eine bequemere Lösung besteht darin, das Filter-Flag -f zu verwenden, um alle freistehenden Bilder aufzulisten.
Verwenden Sie einen der folgenden Befehle, um diese Bilder zu löschen und Speicherplatz freizugeben:
$ docker image prune #interactively remove dangling images
Oder
$ docker rmi $(docker images -q -f dangling=true)
Sie können alle Docker-Images auf ähnliche Weise entfernen. Listen Sie sie auf, indem Sie den Befehl $ docker images –a verwenden, und entfernen Sie sie dann wie folgt:
$ (docker rmi $(docker images -a -q)
Eine weitere Möglichkeit besteht darin, die Bilder zu löschen, die einem bestimmten Muster folgen. Um sie aufzulisten, verwenden Sie den folgenden Befehl:
$ docker images -a | grep "pattern"
Entfernen Sie sie dann mit:
$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi
Container entfernen
Eine andere Sache, die Sie vielleicht tun möchten, nachdem Sie eine gewisse Zeit mit Docker gearbeitet haben, ist das Löschen eines oder mehrerer Container.
Ähnlich wie beim Entfernen von Bildern müssen Sie sie zuerst mit dem folgenden Befehl auflisten:
$ docker ps
Oder
$ docker ps -a
Wenn Sie die Container finden, die Sie entfernen möchten, verwenden Sie dazu ihre ID.
$ docker rm 0fd99ee0cb61 #remove a single container
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers
Falls der Container, den Sie entfernen möchten, ausgeführt wird, können Sie ihn mit dem folgenden Befehl stoppen:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Schließlich können Sie alle unnötigen Container stoppen und entfernen, indem Sie die folgenden Befehle verwenden:
$ docker stop $(docker ps -a -q) #stop all containers
$ docker container prune #interactively remove all stopped containers
Oder
$ docker rm $(docker ps -qa)
Dadurch können Sie wertvollen Speicherplatz freigeben und neu beginnen.
Das letzte Wort
Wie Sie sehen können, ist das Entfernen von Docker-Images und -Containern nicht so entmutigend, wie es vielleicht sein mag. Jetzt, da Sie diese Befehle kennen, können Sie Ihre Docker-Erfahrung besser steuern.
Dies sind natürlich nur einige der Befehle, und Sie können eine Vielzahl anderer Kombinationen verwenden. Trotzdem werden diese den Job gut machen, also probieren Sie sie einfach aus.