logo

Entfernen Sie alle Container und Bilder in Docker

Voraussetzung: Docker

In Docker Wenn wir einen Container verlassen haben, ohne ihn zu stoppen, müssen wir ihn dann manuell stoppen, da er beim Verlassen nicht gestoppt wurde. Ebenso müssen wir Bilder von oben nach unten löschen, da einige Container oder Bilder möglicherweise von den Basisbildern abhängig sind. Wir können das Basisbild jederzeit unter herunterladen. Daher ist es eine gute Idee, unerwünschte oder herunterhängende Bilder vom aktuellen Computer zu löschen.



Wann wurde der erste Computer erfunden?

Wie lösche ich die Bilder in Docker?

Entferne Bild

Um das Bild nach ImageId/Name zu löschen, können wir den folgenden Befehl verwenden. Weitere Informationen zum Erstellen eines Docker-Images mithilfe von Dockerfile finden Sie im Konzept von Dockerfile.

docker rmi>

Bild entfernen erzwingen

Um das Entfernen der Docker-Images nach ImageID/Name zu erzwingen, können wir den folgenden Befehl verwenden.

docker rmi -f>

Notiz: Wir können die Bilder nicht gewaltsam oder normal entfernen, während der Container ausgeführt wird.



Baumelnde Bilder

Hängende Bilder sind solche, die weder dem Repository noch dem Tag zugeordnet sind. Der verwendete Befehl besteht darin, die baumelnden Bilder zu entfernen. Weitere Informationen zum Markieren von Docker-Images finden Sie unter Docker-Image-Tags.

docker image prune>

Alle Bilder entfernen

Wir können alle Bilder in der Docker-Maschine entfernen, um unerwünschte Unordnung und Platz im System zu beseitigen. Wir können trotzdem die neueste Version oder ein bestimmtes versioniertes Image aus der Docker-Registrierung oder aus dem Cache abrufen.

docker rmi $(docker images -q)>
Entfernen Sie alle Bilder.

So löschen Sie Container in Docker

Bevor wir die Container löschen, müssen wir den Container zuerst stoppen, dafür verwenden wir den Befehl.



docker stop>

Der Unterschied zwischen Docker Stop und Docker Kill

Docker Stop sendet zunächst ein SIGTERM-Signal, bevor der Prozess mit einem SIGKILL-Signal und einer Kulanzfrist abgebrochen wird. Wenn Docker kill SIGKILL sendet, wird der Prozess sofort beendet.

  • Stoppen Sie alle laufenden Container: Um die nicht ausgetretenen Behälter zu stoppen. Dies kann passieren, wenn der im Docker-Image verwendete Befehl weiterhin ausgeführt wird. Der Befehl sollte beendet werden, wodurch wiederum der Container gestoppt wird. Um den Container zu stoppen, wenn Sie den Container nicht durch Stoppen des Befehls verlassen haben, müssen Sie den folgenden Befehl ausführen.
docker stop $(docker ps -aq)>
  • Den Container löschen: Wenn der Container gestoppt ist, können wir den Container mit dem folgenden Befehl löschen.
docker rm>
    Löschen des Containers erzwingen: Mit dem folgenden Befehl können wir das Entfernen der Container erzwingen, während sie ausgeführt werden, ohne sie anzuhalten.
docker rm -f>
Stoppen Sie die Container

Entfernen Sie alle Container

Um alle Container von der Docker-Maschine zu entfernen, müssen wir die IDs aller Container abrufen. Mit dem Befehl können wir einfach die IDs der Container abrufen Docker ps -aq , dann können wir mit dem Befehl docker rm alle Container in der Docker-Maschine entfernen.

docker rm $(docker ps -aq)>
Entfernen Sie alle Behälter

Entfernen Sie alle gestoppten Container

Um alle gestoppten/beendeten Container zu entfernen, können wir Filter im ps-Befehlsargument verwenden. Wir können einen Container nicht direkt entfernen, wenn er nicht gestoppt ist. Wir können Container stoppen, die nicht beendet sind oder ausgeführt werden, indem wir das Argument -f für den ps-Befehl in Docker verwenden. Die Option -f oder –filter akzeptiert einen Filter wie status=exited oder status=running oder name und so weiter. Wir können die spezifischen Container entsprechend der Anforderung herausfiltern, um sie zu stoppen.

docker rm $(docker ps -aq --filter status='exited')>

Nachdem wir den ausgeführten Container herausgefiltert haben, können wir den Stop-Befehl verwenden, um diese Container mit -q zu stoppen, um die mit diesen Containern verknüpften numerischen IDs stummzuschalten.

docker stop $(docker ps --filter status=running -q)>

Dadurch werden alle Container gestoppt und wir können die Container nun von der Docker-Maschine entfernen. Wir können hier sogar die Container filtern, die gestoppt werden, um nur diejenigen zu entfernen, deren Status beendet ist.

docker rm $(docker ps --filter status=exited -q)>
Löschen Sie die gestoppten Container.
  • Der folgende Befehl entfernte alle Container, die sich im vorhandenen Zustand befinden. Das bedeutet, dass die Container stehen geblieben sind.
docker container prune>
Docker-Container beschneiden