Container sind großartig, wenn es darum geht, ein Projekt zu testen und bereitzustellen. Container können jedoch schnell Speicherplatz verbrauchen, wenn Sie mehrere Container erstellen.
In diesem Docker-Anfänger-Tutorial zeige ich Ihnen, wie Sie Docker-Container entfernen.
In der einfachsten Form können Sie einen Docker-Container mit dem Befehl docker rm entfernen:
docker rm container_id_or_name
Wenn Sie alle Container entfernen möchten, stoppen Sie zuerst die laufenden Container und entfernen Sie sie dann:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Aber mit Containern haben Sie nicht immer ein einfaches Leben. Und deshalb werde ich verschiedene Szenarien zeigen, in denen Sie Docker-Container löschen können.
Praktische Beispiele zum Entfernen von Docker-Containern
Wie Sie sich vorstellen können, müssen Sie zum Entfernen eines Containers seinen Namen oder seine ID kennen. Sie können alle Docker-Container auf Ihrem System (sowohl angehalten als auch ausgeführt) mit dem docker ps-Befehl wie folgt überprüfen:
[email protected]:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
07e97581c5d8 debian "bash" 9 minutes ago Up 9 minutes container2
6ef4545eef37 ubuntu "bash" 11 minutes ago Up 11 minutes container1
707e40ce3c5a ubuntu "/bin/bash" 15 minutes ago Exited (0) 15 minutes ago boring_payne
8047ab8e3673 ubuntu "/bin/bash" 34 minutes ago Exited (0) 15 minutes ago relaxed_wiles
ce84231ab213 debian "bash" 42 minutes ago Exited (0) 42 minutes ago bold_golick
12a18eaa291b hello-world "/hello" 2 days ago Exited (0) 2 days ago brave_mendeleev
Die erste Spalte gibt die Container-ID und die letzte Spalte den Containernamen an. Sie können auch feststellen, dass die ausgeführten Docker-Container in der Statusspalte „Up“ haben.
Nachdem Sie nun wissen, wie Sie die Container-ID und den Namen abrufen, sehen wir uns an, wie Sie sie entfernen:
Docker-Container entfernen
Das ist am einfachsten. Sie verwenden die Container-ID oder den Namen auf diese Weise:
docker rm container_id_or_name
Sie erhalten keine Meldung wie Container entfernt in der Ausgabe. Es zeigt nur die von Ihnen bereitgestellte Container-ID oder den Namen an.
[email protected]:~$ docker rm 12a18eaa291b
12a18eaa291b
Entfernen Sie einen laufenden Container
Wenn ein Container ausgeführt wird und Sie versuchen, ihn zu entfernen, wird ein Fehler wie dieser angezeigt:
[email protected]:~$ docker rm container1
Error response from daemon: You cannot remove a running container 6ef4545eef378788e5e9d7ac1cf2e0a717480608adb432be99fd9b3d3a604c12. Stop the container before attempting removal or force remove
Ganz klar, Sie sollten den Docker-Container zuerst stoppen und dann entfernen:
docker stop container_id_or_name
docker rm container_id_or_name
Löschen eines laufenden Docker-Containers erzwingen (nicht empfohlen)
Docker bietet Ihnen die Option -f, um das Entfernen eines Containers zu erzwingen. Damit können Sie einen laufenden Container entfernen:
docker rm -f container_id_or_name
Dies wird nicht empfohlen, da es einen Kill-Befehl sendet und Ihr Container seinen Status möglicherweise nicht speichert.
Entfernen Sie mehrere Docker-Container
Sie können beim Entfernen mehr als einen Docker-Container angeben:
docker rm container1 container2 container3
Entfernen Sie mehrere Docker-Container, die einem bestimmten Docker-Image zugeordnet sind
Nehmen wir im Beispiel an, Sie möchten alle Container entfernen, die dem Docker-Image Ubuntu zugeordnet sind.
Ich rate Ihnen, zuerst die Container zu stoppen:
docker ps -a -q --filter ancestor=ubuntu | xargs docker stop
Und dann diese Container entfernen:
docker ps -a -q --filter ancestor=ubuntu | xargs docker rm
Um den obigen Befehl zu erklären, der docker ps
Die Befehlsausgabe wurde mit Containern gefiltert, die dem Ubuntu-Image und dann dem -q
zugeordnet sind Option geben Sie nur die Container-ID an. Kombinieren Sie es mit dem xargs-Befehl, um die Container-IDs (die Ubuntu zugeordnet sind) an den docker rm-Befehl weiterzugeben.
Alle gestoppten Container entfernen
Wenn Sie alle gestoppten Container entfernen möchten, können Sie sie nach ihrem Status filtern und dann auf diese Weise stoppen:
docker ps -a -q -f status=exited | xargs docker rm
Alle Docker-Container entfernen
Wenn Sie alle Container von Ihrem System entfernen möchten, sollten Sie zuerst alle Container stoppen und dann entfernen:
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
Ich hoffe, Ihnen hat dieses Docker-Tutorial gefallen. Bleiben Sie dran für mehr.