Alle Originalinhalte werden auf Ukrainisch erstellt. Noch nicht alle Inhalte wurden übersetzt. Einige Beiträge sind möglicherweise nur auf Ukrainisch verfügbar.Mehr erfahren

„Kein Speicherplatz mehr auf dem Gerät“ - wenn Docker die ganze Festplatte aufgefressen hat

Beitrags-Cover: „Kein Speicherplatz mehr auf dem Gerät“ - wenn Docker die ganze Festplatte aufgefressen hat
InhaltsverzeichnisKlicke auf den Link, um zur gewünschten Stelle zu navigieren
Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Du deployst die Anwendung auf Coolify, der Build verläuft erfolgreich… und plötzlich beim Export des Images:
ERROR: failed to extract layer sha256:...
write /var/lib/containerd/.../File/dirname-c.ri: no space left on device
Der Build wurde erstellt, aber das Image kann nirgendwo gespeichert werden - die Festplatte ist voll.

🤔 Warum passiert das?

Docker sammelt mit jedem Deployment Müll an:
  • Alte Images - jeder Build erstellt ein neues Image, alte bleiben erhalten
  • Build-Cache - Zwischenablagen werden nie automatisch gelöscht
  • Gestoppte Container - nicht gelöschte Container von vorherigen Deployments
  • Unbenutzte Volumes - Reste von gelöschten Services
Auf einem kleinen Server (4–8 GB Festplatte) kann dies die Festplatte innerhalb weniger Wochen aktiver Entwicklung füllen.
Besonders wenn du Rails + Sidekiq + Redis + Elasticsearch betreibst.

🔎 Diagnose

Überprüfe den Zustand der Festplatte:
df -h
Sieh dir an, wie viel Docker benötigt:
docker system df
Normalerweise siehst du Dutzende von Gigabyte im Abschnitt Images oder Build Cache.

🛠 Fix

docker system prune -a --volumes
Dieser Befehl löscht:
  • Alle gestoppten Container
  • Alle nicht verwendeten Netzwerke
  • Alle Images ohne aktive Container
  • Den gesamten Build-Cache
  • Alle Volumes ohne aktive Container (--volumes)

⚠️ Achtung

--volumes löscht auch die Daten in Volumes.
Wenn deine Datenbank (PostgreSQL / MySQL) über ein Docker-Volume ohne externes Backup läuft - mach zuerst ein Dump.

🧼 Prävention

Um nicht regelmäßig in diese Situation zu geraten:
Füge einen Cron für die automatische Bereinigung hinzu
Wöchentlich um 3:00 Uhr nachts (ohne Volumes, um die DB nicht zu beeinträchtigen):
0 3 * * 0 docker system prune -af
Festplatte vergrößern
Wenn du Folgendes betreibst:
  • Rails
  • Elasticsearch
  • Redis
  • Sidekiq
4 GB Festplatte sind zu wenig.
Komfortabler Mindestwert: 20-40 GB.
Build-Cache begrenzen
docker builder prune --keep-storage 2GB
Dies ermöglicht es, den Cache zu speichern, verhindert jedoch, dass er unkontrolliert anwächst.
Wenn das Deployment mit "no space left on device" fehlschlägt - das ist kein Fehler der Anwendung.
Docker hat einfach zu viele alte Daten angesammelt.
Ein Befehl:
docker system prune -a --volumes
löst das Problem in Sekunden.
Aber es ist besser, die automatische Bereinigung einzurichten, um nicht daran denken zu müssen, wenn das nächste Release ansteht.

Dieser Beitrag hat noch keine Ergänzungen vom Autor.

22. Nov, 12:49 Uhr

Was ist VACUUM in PostgreSQL?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist ein B-Baum (ausgeglichener Baum)?
22. Nov, 12:58 Uhr

Was ist ein B-Baum (ausgeglichener Baum)?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Fix des Problems bei der Installation von Ruby 3.4.3 (und nicht nur) über RVM auf macOS (Apple Silicon)
30. Dez, 14:05 Uhr

Fix des Problems bei der Installation von Ruby 3.4.3 (und nicht nur) über RVM auf macOS (Apple Silicon)

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Thundering Herd Problem: was ist das und warum bricht es die Produktion
15. Jan, 10:14 Uhr

Thundering Herd Problem: was ist das und warum bricht es die Produktion

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Was ist Exponential Backoff und Random Jitter?
15. Jan, 15:24 Uhr

Was ist Exponential Backoff und Random Jitter?

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
Anbindung des Elasticsearch-Dienstes an die Rails-Anwendung (Coolify in der Cloud, Server bei Hetzner).
15. Feb, 13:45 Uhr

Anbindung des Elasticsearch-Dienstes an die Rails-Anwendung (Coolify in der Cloud, Server bei Hetzner).

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska
15. Feb, 20:03 Uhr

Sidekiq 7.3.x und connection_pool 3.0 - Inkompatibilität, die die Worker bricht

Нотатки про Ruby та RoR
Нотатки про Ruby та RoR@kovbaska