Entfernen Sie die verwaisten Container in Docker

Entfernen Sie Die Verwaisten Container In Docker



In Docker beziehen sich Waisen auf Docker-Container, die nicht mehr mit einem bestimmten laufenden Prozess verknüpft sind. Wenn wir einen Container von einem Image ausführen, wird dieser Container als separater Prozess auf dem Hostsystem ausgeführt.

Dieser Prozess, der auf dem Hostsystem ausgeführt wird, kann ein Webserver, ein Datenbankserver oder eine beliebige Anwendung sein, die Sie in einem Container gespeichert haben.

Wenn der Container angehalten wird, kann es daher vorkommen, dass die mit diesem Container verbundenen Prozesse nicht ordnungsgemäß gereinigt werden. Dies kann auf mehrere Faktoren zurückzuführen sein, beispielsweise auf Zombie-Container. Dadurch bleibt ein sogenannter verwaister Container zurück. Obwohl die verwaisten Container nicht unbedingt einen nennenswerten Einfluss auf die Leistung der Docker-Engine haben, können sie Ressourcen wie Speicherplatz verbrauchen.







In diesem Tutorial erfahren Sie, wie Sie die verwaisten Container in Docker mit dem Befehl docker-compose entfernen.



Anforderungen:

Um diesem Tutorial folgen zu können, stellen Sie sicher, dass Sie über Folgendes verfügen:



  1. Ein Hostsystem mit installierter Docker Engine
  2. Berechtigung zum Ausführen der Docker-Befehle auf dem Hostsystem

Docker-Befehl „Compose Down“.

Wir können auf den Befehl „docker compose down“ in den Docker-CLI-Tools zugreifen, um die Container oder Netzwerke zu stoppen und zu entfernen. Mit diesem Befehl können wir die verwaisten Container entfernen.





Die Befehlssyntax lautet wie folgt:

$ Docker komponieren [ OPTIONEN ] [ DIENSTLEISTUNGEN ]

Der Befehl unterstützt die folgenden Optionen:



  • –remove-orphans – Dadurch werden die Container für die Dienste entfernt, die nicht in der Compose-Datei definiert sind. Standardmäßig ist es auf „false“ gesetzt.
  • –rmi – Dadurch kann der Befehl die Bilder entfernen, die von Diensten verwendet werden.
  • –timeout – Dies gibt den Shutdown-Timeout in Sekunden an.
  • –volumes – Dadurch werden die benannten Volumes entfernt, die im Abschnitt „volumes“ der Compose-Datei deklariert sind.

Sobald Sie den vorherigen Befehl ausführen, stoppt die Docker-Engine und entfernt die Container, Netzwerke, Volumes oder Images, die beim Ausführen des Befehls „docker up“ erstellt werden.

Standardmäßig entfernt der Befehl die Container für die Dienste, die in der Compose-Datei definiert sind und die im Abschnitt „Netzwerke“ angegeben sind.

Um die verwaisten Container zu entfernen, führen Sie den folgenden Befehl aus:

$ Docker komponieren --remove-orphans

Entfernen Sie die verwaisten Bilder

Wir können die verwaisten Bilder auch mit dem Befehl „docker rmi“ entfernen. Wir können dann die Option -f verwenden und sie übergeben, wodurch die Dangling-Eigenschaft auf true gesetzt wird.

Um die Bilder schließlich zu entfernen, verwenden Sie das Flag -q, wie im folgenden Befehl gezeigt:

$ Docker RMI $ ( Docker-Bilder -F baumelnd = WAHR -Q )

Dadurch sollten alle baumelnden Bilder gefunden und entfernt werden.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie alle verwaisten Container, Netzwerke, Volumes und Images in Docker entfernen. Durch regelmäßiges Bereinigen der gestoppten und verwaisten Container kann das Hostsystem sauber gehalten und verhindert werden, dass es unnötige Ressourcen verbraucht.