Layer 8Ehrlicher Tech-Support
SoftwareSchweregrad: Lästigno space left on device

Docker: no space left on device beheben

Docker bricht mit 'no space left on device' ab, obwohl scheinbar Platz da ist? Alte Images, Container und Build-Cache fressen die Platte. So räumst du auf.

Aufwand:
ca. 10 Min.
Voraussetzung:
Terminal

Das Symptom

Du startest einen Build oder ziehst ein Image, und Docker bricht mitten drin ab: no space left on device. Der Blick auf das Projekt verwirrt – da liegen ein paar Megabyte Code, mehr nicht. Trotzdem behauptet Docker steif und fest, die Platte sei voll.

Die „Layer 8“-Wahrheit

Docker ist ein stiller Messie. Jedes gebaute Image, jeder gestoppte Container, jede Zwischenschicht eines Builds wird fein säuberlich aufbewahrt – für den Fall, dass man sie nochmal braucht. Nur räumt niemand hinterher auf, und so wächst das Docker-Datenverzeichnis im Verborgenen, bis es die ganze Platte belegt. Deshalb täuscht der Blick aufs Projekt: Der Platz ist nicht im Code, sondern in Dockers Erinnerungsstücken verschwunden – ungenutzte Images, tote Container, ein aufgeblähter Build-Cache. Die Lösung ist kein größeres Laufwerk, sondern ein beherzter, aber überlegter Frühjahrsputz. Nur bei den Volumes lohnt der zweite Blick: Dort liegen oft die einzigen Daten, die man wirklich behalten will.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Den Verbrauch sichtbar machen

    Zuerst zeigen lassen, wer den Platz belegt – Images, Container, Volumes und Build-Cache getrennt aufgeschlüsselt. So räumst du gezielt statt blind:

    docker system df
    
  2. 2.

    Gestoppte Container und dangling Images entfernen

    Der sichere Grundputz: gestoppte Container, ungenutzte Netzwerke, unbenannte Images und Build-Cache löschen. Laufende Container und benannte Images bleiben unberührt:

    docker system prune
    
  3. 3.

    Wirklich ungenutzte Images abräumen

    Bringt das zu wenig, auch alle Images entfernen, die kein Container nutzt. Das schafft am meisten Platz, lädt aber benötigte Images beim nächsten Start neu herunter:

    docker image prune -a
    
  4. 4.

    Verwaiste Volumes gezielt prüfen

    Volumes können wichtige Daten (z. B. Datenbanken) enthalten. Erst auflisten, dann bewusst entscheiden, welche wirklich weg dürfen – nicht pauschal löschen:

    docker volume ls
    docker volume prune
    
  5. 5.

    Den Build-Cache getrennt leeren

    Bei vielen Builds ist der Cache oft der größte Brocken. Er lässt sich separat entfernen, ohne Images anzutasten:

    docker builder prune
    
  6. 6.

    Das Host-Dateisystem gegenprüfen

    Ist die Platte trotz Aufräumen voll, liegt es vielleicht gar nicht an Docker. Den freien Platz des Systems prüfen und notfalls das Docker-Datenverzeichnis auf ein größeres Laufwerk verlegen:

    df -h
    

Häufige Fragen (FAQ)

?Wohin verschwindet der Docker-Speicherplatz?

Docker sammelt über die Zeit ungenutzte Images, gestoppte Container, verwaiste Volumes und vor allem Build-Cache an. Gerade häufige Builds hinterlassen Schicht um Schicht, die niemand mehr braucht. Diese Reste liegen unter dem Docker-Datenverzeichnis und füllen die Platte, während das eigentliche Projekt winzig wirkt.

?Ist docker system prune gefährlich?

Es löscht alles, was Docker als 'ungenutzt' einstuft – gestoppte Container, ungenutzte Netzwerke, dangling Images und Build-Cache. Mit dem Zusatz -a auch alle Images, die kein vorhandener Container nutzt, mit --volumes zusätzlich Volumes. Volumes enthalten oft Datenbank-Daten, deshalb hier besonders vorsichtig sein und vorher prüfen, was wirklich weg darf.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

  1. [2]

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

SWLästigCannot connect to the Docker daemon

Docker: Cannot connect to the Docker daemon

docker-Befehle scheitern mit 'Cannot connect to the Docker daemon'? Meist läuft der Dienst nicht oder Rechte fehlen. So läuft es wieder.

SWLästigRestarting (1)

Docker-Container startet endlos neu

Der Container hängt in einer Neustartschleife. Der Hauptprozess beendet sich – die Logs des abgestürzten Laufs verraten, warum.

SWLästigexec format error

Docker: exec format error

Der Container startet nicht und meldet „exec format error“? Fast immer passt die Prozessorarchitektur des Images nicht zum Host — ARM gegen x86.

SWLästigpermission denied while trying to connect to the Docker daemon socket

Docker: permission denied am Docker-Socket

Docker läuft, aber ohne sudo kommt „permission denied“? Der Zugriff hängt an der Docker-Gruppe — und die hat sicherheitsrelevante Nebenwirkungen.