Docker Speicherplatz freigeben
Docker Speicherplatz freigeben: mit docker system df die Belegung sehen und mit prune ungenutzte Images, Container, Volumes, Netzwerke und Build-Cache löschen.
Docker frisst mit der Zeit überraschend viel Plattenplatz: alte Images, gestoppte Container, verwaiste Volumes und ein wachsender Build-Cache summieren sich. Mit ein paar Befehlen räumst Du gezielt auf. Dieser Beitrag vertieft den Docker-Teil aus meinem Artikel Einfache Wege, um unter Linux/Ubuntu Speicherplatz freizugeben.
Schneller Überblick: docker system df zeigt, was belegt ist, und docker system prune -a --volumes räumt alles Ungenutzte auf einen Schlag weg. Gezielter geht es mit den einzelnen prune-Befehlen unten.
Was belegt den Platz? — docker system df
docker system df
Das listet Images, Container, lokale Volumes und den Build-Cache mit ihrer Größe und dem „reclaimable” (rückgewinnbaren) Anteil auf. Mit docker system df -v siehst Du die Aufschlüsselung pro Image und Volume.
Ungenutzte Images entfernen
docker image prune # nur "dangling" (ungetaggte) Images
docker image prune -a # ALLE Images, die kein Container nutzt
docker image prune löscht standardmäßig nur dangling images — ungetaggte Layer ohne Bezug. Mit -a entfernst Du alle Images, die gerade von keinem Container verwendet werden. Das gibt am meisten frei, lädt aber beim nächsten Start neu herunter.
Gestoppte Container entfernen
docker container prune
Entfernt alle gestoppten Container. Laufende bleiben unberührt.
Ungenutzte Volumes entfernen
docker volume prune
Achtung: Volumes enthalten oft Daten (Datenbanken, Uploads). docker volume prune löscht nur Volumes, die an keinem Container hängen — prüfe vorher mit docker volume ls, dass nichts Wichtiges dabei ist.
Build-Cache leeren
docker builder prune # alten Build-Cache
docker builder prune -a # den gesamten Build-Cache
Gerade bei häufigen docker build-Läufen wächst der Cache stark. Das ist meist die größte stille Platzfresser-Quelle.
Alles auf einmal
docker system prune # Container, Netzwerke, dangling Images, Build-Cache
docker system prune -a --volumes # zusätzlich ALLE ungenutzten Images UND Volumes
Der zweite Befehl ist der große Hammer: Er räumt radikal auf, löscht aber auch alle ungenutzten Images und — durch --volumes — ungenutzte Volumes mitsamt Daten. Nutze ihn nur, wenn Du weißt, dass nichts Ungesichertes dranhängt. Das -f-Flag überspringt die Sicherheitsabfrage.
Container-Logs im Blick behalten
Auch Logfiles laufender Container können groß werden. Prüfen lässt sich das z. B. unter /var/lib/docker/containers/. Dauerhaft hilft eine Begrenzung über die Log-Optionen (max-size, max-file) im docker run oder in der daemon.json.
Wenn Du Docker als lokale Entwicklungsumgebung nutzt, ist auch mein Beitrag MySQL, phpMyAdmin und Mailhog lokal auf Docker interessant.
Mehr aus „Linux, DevOps & Systeme"
Windows Core Prozesse verstehen
Windows Core-Prozesse verstehen: was smss.exe, csrss.exe, lsass.exe und svchost.exe wirklich tun und woran Du getarnte Malware im Prozessbaum erkennst.
WeiterlesenUbuntu LTS Release Update
Ubuntu LTS sicher aktualisieren: Snapshot bei Contabo oder Netcup anlegen, mit apt update und do-release-upgrade hochziehen und den SSH-Port bestätigen.
WeiterlesenWie sichere ich meinen SSH-Server unter Linux
SSH-Server unter Linux absichern: Root-Login deaktivieren, Standardport 22 ändern, leere Passwörter sperren und die UFW-Firewall passend konfigurieren.
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.