Hur mycket loggutrymme för Docker bör en hemmaserver reservera?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Reservera inte en obegränsad pool för Docker-loggar. Ställ in rotation per container och upprätthåll en separat gräns för ledigt utrymme på värdsystemet. En praktisk utgångspunkt är 30–100 MB för rutincontainrar, med högre gränser endast för tjänster vars felsökningsfönster kräver det.

Det totala utrymmet motsvarar gränsen per container multiplicerad med antalet containrar, plus daemon-, journald-, applikations-, krasch- och temporära loggar. Den korrekta reserven måste också säkerställa att bildhämtningar, uppdateringar och omstarter av containrar fungerar under en loggtopp. Denna åtskillnad avgör mätmetoden, säkerhetsmarginalen och stoppvillkoret. Denna åtskillnad avgör mätmetoden, säkerhetsmarginalen och stoppvillkoret.

Bygg budgeten utifrån varje loggproducent

Inventera Dockers loggningsdrivrutin, antalet containrar, logghastigheten, kvarhållningsfönstret och eventuella applikationsloggar som skrivs i volymer. Roterande stdout begränsar inte en separat loggfil som skapas av applikationen.

För `json-file` begränsar `max-size=10m` och `max-file=3` de kvarhållna filerna till omkring 30 MB per container. Drivrutinen `local` lägger till komprimering och begränsad rotation, men befintliga containrar kan behöva återskapas för att börja använda ändrade standardinställningar.

Reservera ytterligare utrymme på systemdisken för avbildningar, skrivbara lager, paketuppdateringar och akuta diagnostikåtgärder. Låt inte loggbudgeten förbruka det sista användbara utrymmet på `/var/lib/docker`.

Övervaka hastighet och ledigt utrymme, inte bara storlek

Följ antalet byte per container, tillväxt per timme, rotationshändelser, lediga byte i filsystemet och inode-användning. En plötslig förändring i hastigheten avslöjar ofta en kraschloop innan disken blir full.

Ställ in varnings- och kritiska tröskelvärden tillräckligt tidigt för att bevara funktioner för omstarter och uppdateringar. För en liten systemdisk kan en fast operativ reserv på 5–10 GB vara mer meningsfull än enbart en procentsats.

Använd tabellen nedan för att omvandla observerat beteende till en gräns.

Observerat tillstånd Bedömning Nästa åtgärd
Rutinmässig tjänst; låg logghastighet Startgräns på 30–100 MB Justera efter felsökningsfönstret
Ryckig tjänst med motiverad historik Större uttryckligt undantag Övervaka tillväxt och vidarebefordran
Ingen rotation; minskande ledigt utrymme Osäkert Aktivera gränser före normal drift

Tillämpa rotation utan att förlora viktiga bevis

Ställ in daemon-standardvärden och uttryckliga undantag för tjänster med högt värde, och återskapa eller distribuera sedan containrarna igen så att inställningarna börjar gälla. Bekräfta den aktiva drivrutinen och alternativen genom containerinspektion.

Vidarebefordra säkerhets- eller granskningsloggar till en separat beständig destination om de måste överleva lokal rotation. Rutinmässiga felsökningsutdata bör inte behållas obegränsat på systemdisken.

ZimaSpaces arbetsflöde för Docker-diskutveckling separerar loggar från lager och volymer.

RunBook Academys analys av loggrotation visar hur `max-size` och `max-file` skapar ett förutsägbart tak.

-15% OFF
Single board computer zimaboard2

Tvinga fram en validering av en högljudd container

Generera kontrollerade loggutdata i en testcontainer och se filerna rotera. Bekräfta att gamla filer försvinner enligt det konfigurerade antalet och att containern fortsätter köras.

Starta om Docker och värdsystemet och upprepa sedan kontrollen. Kontrollera att varningar utlöses innan den operativa reserven förbrukas och att applikationsloggar utanför drivrutinen har separata gränser.

Fortsätt när de värsta sammanlagda loggarna ryms inom budgeten och rotationen överlever en omstart. Stoppa och åtgärda konfigurationen om en container växer obegränsat, rotationen inte är aktiv eller det lediga utrymmet sjunker under systemreserven.

Support och tips

Mer att läsa

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.