Wie viel Speicherplatz sollte ein Heimserver für Docker-Logs reservieren?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Reservieren Sie keinen unbegrenzten Pool ausschließlich für Docker-Logs. Legen Sie eine Rotation pro Container fest und halten Sie zusätzlich eine separate Mindestreserve an freiem Speicherplatz auf dem Host vor. Ein praktischer Ausgangspunkt sind 30-100 MB für reguläre Container, mit höheren Limits nur für Dienste, deren Fehlerbehebungszeitraum dies erfordert.

Der Gesamtbedarf entspricht dem Limit pro Container multipliziert mit der Anzahl der Container, zuzüglich Daemon-, journald-, Anwendungs-, Absturz- und temporärer Logs. Die korrekte Reserve muss außerdem sicherstellen, dass Image-Pulls, Updates und Container-Neustarts auch während einer Protokollspitze funktionieren. Diese Unterscheidung legt die Messmethode, den Sicherheitspuffer und die Abbruchbedingung fest. Diese Unterscheidung legt die Messmethode, den Sicherheitspuffer und die Abbruchbedingung fest.

Erstellen Sie das Budget anhand jedes Log-Erzeugers

Erfassen Sie den Docker-Logging-Treiber, die Anzahl der Container, die Log-Rate, das Aufbewahrungsfenster und alle Anwendungs-Logs, die innerhalb von Volumes geschrieben werden. Die Rotation von stdout begrenzt keine separate Logdatei, die von der Anwendung erstellt wird.

Für `json-file` begrenzen `max-size=10m` und `max-file=3` die aufbewahrten Dateien auf etwa 30 MB pro Container. Der `local`-Treiber bietet zusätzlich Komprimierung und begrenzte Rotation, aber vorhandene Container müssen möglicherweise neu erstellt werden, damit geänderte Standardeinstellungen übernommen werden.

Reservieren Sie zusätzlichen Spielraum auf der Systemfestplatte für Images, beschreibbare Layer, Paketupdates und Notfalldiagnosen. Lassen Sie nicht zu, dass das Log-Budget den letzten nutzbaren Speicherplatz auf `/var/lib/docker` aufbraucht.

Überwachen Sie Rate und freien Speicherplatz, nicht nur die Größe

Erfassen Sie Bytes pro Container, das Wachstum pro Stunde, Rotationsereignisse, die freien Bytes des Dateisystems und die Inode-Nutzung. Eine plötzliche Änderung der Rate weist oft auf eine Crash-Schleife hin, bevor die Festplatte voll ist.

Setzen Sie Warn- und kritische Schwellenwerte früh genug, damit Neustarts und Updates weiterhin möglich sind. Bei einer kleinen Systemfestplatte kann eine feste operative Reserve von 5-10 GB aussagekräftiger sein als ein Prozentsatz allein.

Verwenden Sie die folgende Tabelle, um beobachtetes Verhalten in ein Limit zu übertragen.

Beobachteter Zustand Bewertung Nächste Aktion
Regulärer Dienst; niedrige Log-Rate Ausgangslimit von 30-100 MB Auf den Fehlerbehebungszeitraum abstimmen
Stoßweise arbeitender Dienst mit begründetem Verlauf Größere explizite Ausnahme Wachstum und Weiterleitung überwachen
Keine Rotation; freier Speicherplatz nimmt ab Unsicher Limits vor dem regulären Betrieb aktivieren

Rotation anwenden, ohne wichtige Beweise zu verlieren

Legen Sie Daemon-Standardeinstellungen und explizite Ausnahmen für wichtige Dienste fest und erstellen Sie die Container anschließend neu oder stellen Sie sie erneut bereit, damit die Einstellungen wirksam werden. Bestätigen Sie den aktiven Treiber und die Optionen durch eine Container-Inspektion.

Leiten Sie Sicherheits- oder Audit-Logs an ein separates, dauerhaftes Ziel weiter, wenn sie die lokale Rotation überdauern müssen. Reguläre Debug-Ausgaben sollten nicht unbegrenzt auf der Systemfestplatte aufbewahrt werden.

Der Docker-Workflow zur Analyse des Festplattenwachstums von ZimaSpace trennt Logs von Layern und Volumes.

Die Analyse zur Logrotation der RunBook Academy zeigt, wie `max-size` und `max-file` eine vorhersehbare Obergrenze schaffen.

-15% OFF

Validierung mit einem besonders lauten Container erzwingen

Erzeugen Sie in einem Testcontainer kontrollierte Log-Ausgaben und beobachten Sie die Rotation der Dateien. Bestätigen Sie, dass alte Dateien bei der konfigurierten Anzahl verschwinden und der Container weiterläuft.

Starten Sie Docker und den Host neu und wiederholen Sie anschließend die Prüfung. Vergewissern Sie sich, dass Warnungen ausgelöst werden, bevor die operative Reserve aufgebraucht ist, und dass Anwendungs-Logs außerhalb des Treibers separat begrenzt sind.

Fahren Sie fort, wenn die aggregierten Logs im Worst-Case in das Budget passen und die Rotation einen Neustart übersteht. Halten Sie an und korrigieren Sie die Konfiguration, wenn ein Container unbegrenzt wächst, die Rotation nicht aktiv ist oder der freie Speicherplatz unter die Systemreserve fällt.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.