Wie man docker rm verwendet

Wenn du mit Docker arbeitest, wirst du früher oder später deine Container aufräumen müssen. Genau hier kommt der Befehl docker rm
ins Spiel. Er ist eine einfache Möglichkeit, einen oder mehrere Container zu entfernen, die du nicht mehr brauchst.
Lass uns anschauen, wie man docker rm
benutzt und ein paar Beispiele durchgehen.
Grundlegende Verwendung
Um einen Container zu entfernen, verwendest du diesen Befehl:
docker container rm [OPTIONEN] CONTAINER [CONTAINER...]
Oder du kannst die kürzere Version nutzen:
docker rm [OPTIONEN] CONTAINER [CONTAINER...]
Hier ist CONTAINER
der Name oder die ID des Containers, den du entfernen möchtest. Du kannst auch mehrere Container angeben, wenn du mehr als einen auf einmal löschen willst.
Einen Container entfernen
Stell dir vor, du hast einen Container namens /redis
, den du nicht mehr brauchst. Um ihn zu entfernen, führst du aus:
docker rm /redis
Dieser Befehl entfernt den /redis
Container von deinem System.
Eine Verbindung entfernen
Wenn du eine Verbindung zwischen Containern mit der Option --link
im Standard-Bridge-Netzwerk eingerichtet hast, kannst du diese Verbindung entfernen, ohne die Container zu löschen. Wenn du zum Beispiel einen /webapp
Container hast, der mit einem /redis
Container verbunden ist, kannst du die Verbindung so trennen:
docker rm --link /webapp/redis
Dieser Befehl unterbricht die Netzwerkkommunikation zwischen /webapp
und /redis
, aber beide Container bleiben erhalten.
Einen laufenden Container mit Gewalt entfernen
Manchmal musst du vielleicht einen Container entfernen, der noch läuft. Dafür kannst du die Option --force
oder -f
verwenden. Wenn du beispielsweise einen laufenden Container namens redis
sofort entfernen willst, führst du aus:
docker rm -f redis
Dieser Befehl sendet ein SIGKILL
-Signal an den Hauptprozess im Container, stoppt ihn sofort und entfernt dann den Container.
Alle gestoppten Container entfernen
Wenn du alle deine gestoppten Container aufräumen willst, kannst du den Befehl docker container prune
verwenden:
docker container prune
Dieser Befehl entfernt alle gestoppten Container. Alternativ, wenn du nicht nur gestoppte Container, sondern auch andere ungenutzte Docker-Ressourcen wie Images und Netzwerke entfernen möchtest, kannst du verwenden:
docker system prune
Eine andere Möglichkeit, alle gestoppten Container zu entfernen, ist die Kombination von docker ps
und docker rm
. Du kannst die IDs aller gestoppten Container so auflisten:
docker ps -q --filter status=exited
Dann kannst du diese IDs an docker rm
weiterleiten, um sie zu entfernen:
docker ps -q --filter status=exited | docker rm
Unter Linux kannst du auch das xargs
-Tool verwenden, um dasselbe Ergebnis zu erzielen:
docker ps -q --filter status=exited | xargs docker rm
Einen Container und seine Volumes entfernen
Wenn du einen Container entfernst, werden standardmäßig die damit verbundenen Volumes nicht gelöscht. Wenn du den Container und seine Volumes entfernen möchtest, kannst du die Option --volumes
oder -v
verwenden. Zum Beispiel:
docker rm -v my_container
Dieser Befehl entfernt my_container
und alle anonymen Volumes, die damit verbunden sind. Beachte, dass benannte Volumes mit diesem Befehl nicht entfernt werden.
Volumes selektiv entfernen
Wenn du einige Volumes behalten und andere entfernen möchtest, musst du sie separat entfernen. Wenn du zum Beispiel einen Container mit Volumes unter /foo
und /bar
hast und /foo
behalten, aber /bar
entfernen möchtest, würdest du zuerst den Container entfernen:
docker rm my_container
Dann würdest du das /bar
Volume separat entfernen:
docker volume rm my_container_bar
Das gleiche Prinzip gilt, wenn du --volumes-from
verwendet hast, um Volumes von einem anderen Container zu übernehmen.
Mit docker rm
und seinen verschiedenen Optionen kannst du deine Docker-Umgebung effektiv verwalten und aufräumen.