Loading...

Docker "No Space Left on Device" Fehler beheben

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
4 min

Wenn du mit Docker arbeitest und plötzlich die Fehlermeldung "no space left on device" siehst, kann das ziemlich frustrierend sein. Aber keine Sorge, das ist ein häufiges Problem und es gibt mehrere Schritte, die du unternehmen kannst, um es zu beheben. Lass uns gemeinsam durch den Prozess gehen.

Zuerst musst du herausfinden, woher das Speicherplatzproblem kommt. Docker nutzt verschiedene Orte auf deinem System für die Speicherung, also solltest du jeden davon überprüfen:

  1. Docker Images und Container: Mit der Zeit sammelst du möglicherweise viele Docker Images und Container an, die du nicht mehr verwendest. Diese können eine Menge Speicherplatz verbrauchen.
    Um zu sehen, wie viel Speicherplatz deine Docker Images und Container verwenden, kannst du diesen Befehl in deinem Terminal ausführen:
    docker system df
    

    Dies zeigt dir eine Zusammenfassung deiner Docker-Speichernutzung an. Wenn du siehst, dass Images und Container viel Platz beanspruchen, kannst du sie mit diesem Befehl aufräumen:
    docker system prune
    

    Dieser Befehl entfernt alle gestoppten Container, ungenutzte Netzwerke, hängende Images und den Build-Cache. Das ist eine gute Möglichkeit, Speicherplatz freizugeben, aber sei vorsichtig, da Dinge gelöscht werden, die du vielleicht behalten möchtest. Stelle also sicher, dass du damit einverstanden bist, bevor du den Befehl ausführst.
  2. Docker Volumes: Docker Volumes sind ein weiterer Ort, an dem Speicherplatz verbraucht werden kann. Volumes werden verwendet, um Daten zu speichern, die deine Container benötigen, und manchmal können sie ziemlich groß werden.
    Um zu sehen, wie viel Speicherplatz deine Volumes verwenden, führe aus:
    docker volume ls -qf dangling=true
    

    Dies zeigt dir alle Volumes an, die von keinem Container verwendet werden. Wenn du hier Volumes siehst, kannst du sie mit diesem Befehl entfernen:
    docker volume rm $(docker volume ls -qf dangling=true)
    

    Dies löscht alle Volumes, die nicht verwendet werden, was helfen kann, Speicherplatz freizugeben.
  3. Docker Root Verzeichnis: Docker speichert seine Daten in einem Verzeichnis auf deinem System, normalerweise /var/lib/docker. Wenn dieses Verzeichnis zu voll wird, siehst du den "no space left on device" Fehler.
    Um zu überprüfen, wie viel Speicherplatz in diesem Verzeichnis verwendet wird, kannst du den du-Befehl verwenden:
    sudo du -sh /var/lib/docker
    

    Wenn du siehst, dass dieses Verzeichnis viel Speicherplatz verbraucht, musst du es möglicherweise an einen anderen Ort mit mehr Platz verschieben. Du kannst dies tun, indem du die data-root-Option in deiner Docker-Daemon-Konfigurationsdatei änderst.
    Dazu musst du die Docker-Daemon-Konfigurationsdatei bearbeiten, die sich normalerweise unter /etc/docker/daemon.json befindet. Wenn die Datei nicht existiert, kannst du sie erstellen. Füge die data-root-Option hinzu oder ändere sie, um auf ein neues Verzeichnis zu zeigen:
    {
      "data-root": "/pfad/zum/neuen/docker/verzeichnis"
    }
    

    Nachdem du diese Änderung vorgenommen hast, musst du den Docker-Dienst neu starten, damit sie wirksam wird:
    sudo systemctl restart docker
    
  4. Host-System: Manchmal liegt das Problem nicht bei Docker selbst, sondern daran, dass dem Host-System der Speicherplatz ausgeht. Wenn du alle Docker-bezogenen Orte überprüft hast und immer noch den Fehler siehst, solltest du die Festplattennutzung deines Host-Systems überprüfen.
    Du kannst dies mit dem folgenden Befehl tun:
    df -h
    

    Dies zeigt dir, wie viel Speicherplatz auf deinem System verwendet wird. Wenn du siehst, dass dein System wenig Speicherplatz hat, musst du Platz freigeben, indem du Dateien löschst oder deine Festplatte erweiterst.

Wenn du diese Schritte befolgst, solltest du herausfinden können, woher das Speicherplatzproblem kommt, und den "no space left on device" Fehler in Docker beheben können. Denk daran, vorsichtig zu sein, wenn du Dinge löschst, und stelle sicher, dass du Backups aller wichtigen Daten hast, bevor du Änderungen vornimmst.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!