So entfernen Sie Docker-Images, -Container und -Volumes

Docker ist eine Plattform zur Containerisierung, die es Entwicklern ermöglicht, Anwendungen in abgeschotteten Containern auszuführen. Diese Container setzen sich aus Abbildern, welche den Anwendungscode und dessen Abhängigkeiten beinhalten, und aus Volumes, die der Datenspeicherung dienen, zusammen. Gelegentlich kann es jedoch erforderlich sein, Docker-Abbilder, -Container oder -Volumes zu löschen, um Speicherplatz freizugeben oder veraltete Komponenten zu entfernen. Dieser Artikel erklärt, wie dies funktioniert.

Inhaltsverzeichnis

  • Einführung
  • Docker-Abbilder entfernen
    • Ein spezifisches Abbild entfernen
    • Alle ungenutzten Abbilder entfernen
  • Docker-Container entfernen
    • Einen laufenden Container entfernen
    • Einen gestoppten Container entfernen
    • Alle Container entfernen
  • Docker-Volumes entfernen
    • Ein bestimmtes Volume entfernen
    • Alle ungenutzten Volumes entfernen
  • Fazit
  • FAQs

Einführung

Docker-Abbilder, -Container und -Volumes können im Laufe der Zeit erheblichen Speicherplatz beanspruchen. Insbesondere nicht mehr verwendete Abbilder und Container können wertvollen Platz auf Ihrem System belegen. Daher ist das Löschen dieser Elemente von Bedeutung, um Speicherplatz freizugeben und die Systemleistung zu steigern.

Docker-Abbilder entfernen

Ein spezifisches Abbild entfernen

Um ein bestimmtes Docker-Abbild zu löschen, nutzen Sie folgenden Befehl:

docker rmi <image-id>

Ersetzen Sie <image-id> mit der ID des zu entfernenden Abbilds. Die ID kann durch den Befehl docker images ermittelt werden.

Alle ungenutzten Abbilder entfernen

Um alle nicht verwendeten Docker-Abbilder zu entfernen, verwenden Sie diesen Befehl:

docker rmi $(docker images -f dangling=true -q)

Dieser Befehl entfernt alle Abbilder, die nicht mit einem aktiven Container verbunden sind.

Docker-Container entfernen

Einen laufenden Container entfernen

Um einen laufenden Docker-Container zu löschen, verwenden Sie diesen Befehl:

docker stop <container-id> && docker rm <container-id>

Ersetzen Sie <container-id> mit der ID des Containers, der entfernt werden soll. Die ID kann über den Befehl docker ps ermittelt werden.

Einen gestoppten Container entfernen

Um einen gestoppten Docker-Container zu entfernen, nutzen Sie folgenden Befehl:

docker rm <container-id>

Ersetzen Sie <container-id> durch die ID des zu entfernenden Containers.

Alle Container entfernen

Um sämtliche Docker-Container zu entfernen, verwenden Sie folgenden Befehl:

docker rm $(docker ps -a -q)

Dieser Befehl entfernt alle Container, unabhängig von ihrem jeweiligen Status.

Docker-Volumes entfernen

Ein bestimmtes Volume entfernen

Um ein spezifisches Docker-Volume zu löschen, nutzen Sie folgenden Befehl:

docker volume rm <volume-name>

Ersetzen Sie <volume-name> durch den Namen des Volumes, das entfernt werden soll. Eine Liste der Volumes kann über den Befehl docker volume ls abgerufen werden.

Alle ungenutzten Volumes entfernen

Um alle nicht verwendeten Docker-Volumes zu entfernen, nutzen Sie folgenden Befehl:

docker volume prune

Dieser Befehl entfernt alle Volumes, die nicht mit einem laufenden Container in Verbindung stehen.

Fazit

Das Löschen von Docker-Abbildern, -Containern und -Volumes ist ein wichtiger Schritt zur Freigabe von Speicherplatz und zur Verbesserung der Systemleistung. Mit Hilfe der in diesem Artikel beschriebenen Befehle können Sie diese Elemente leicht und schnell bereinigen.

Häufig gestellte Fragen (FAQs)

1. Wie kann ich feststellen, welche Abbilder und Container nicht mehr verwendet werden?

Sie können den Befehl docker images -f dangling=true verwenden, um ungenutzte Abbilder zu finden, und den Befehl docker ps -a, um gestoppte Container zu finden.

2. Kann ich mehrere Abbilder oder Container gleichzeitig entfernen?

Ja, Sie können mehrere Abbilder oder Container gleichzeitig löschen, indem Sie deren IDs durch Leerzeichen trennen. Beispiel: docker rmi image1 image2 image3 oder docker rm container1 container2 container3.

3. Was passiert, wenn ich ein Abbild lösche, das von einem aktiven Container verwendet wird?

Wenn Sie ein Abbild löschen, das von einem laufenden Container verwendet wird, wird der Container gestoppt. Sie müssen den Container neu erstellen, wenn Sie ihn wieder ausführen möchten.

4. Wie kann ich verhindern, dass Docker ungenutzte Abbilder und Container speichert?

Sie können die automatische Bereinigung in Docker aktivieren, indem Sie folgenden Befehl ausführen: docker system prune --interval=1h.

5. Wie kann ich den Speicherplatzverbrauch von Docker anzeigen lassen?

Sie können den Befehl docker system df ausführen, um den Speicherplatzverbrauch von Docker anzuzeigen.

6. Wie kann ich Docker-Volumes dauerhaft speichern?

Docker-Volumes lassen sich dauerhaft speichern, indem Sie sie auf einem Host-Verzeichnis bereitstellen.

7. Was ist der Unterschied zwischen einem Docker-Abbild und einem Container?

Ein Docker-Abbild ist eine statische Vorlage, die den Code und die Abhängigkeiten einer Anwendung beinhaltet, während ein Container eine laufende Instanz eines Abbildes ist.

8. Welchen Zweck erfüllt ein Docker-Volume?

Ein Docker-Volume dient der Speicherung von Daten, die von mehreren Containern gemeinsam genutzt werden können.