Quanto spazio dovrebbe riservare un server domestico ai log di Docker?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Non riservare un unico pool senza limiti per i log di Docker. Imposta la rotazione per container e mantieni una soglia separata di spazio libero sull'host. Un punto di partenza pratico è 30–100MB per i container ordinari, con limiti maggiori solo per i servizi la cui finestra di risoluzione dei problemi lo richiede.

Lo spazio totale equivale al limite per container moltiplicato per il numero di container, più i log del demone, di journald, delle applicazioni, degli arresti anomali e temporanei. La riserva corretta deve inoltre consentire il funzionamento del download delle immagini, degli aggiornamenti e dei riavvii dei container durante un picco di log. Questa distinzione determina il metodo di misurazione, il margine di sicurezza e la condizione di arresto. Questa distinzione determina il metodo di misurazione, il margine di sicurezza e la condizione di arresto.

Costruisci il budget a partire da ogni produttore di log

Fai un inventario del driver di logging di Docker, del numero di container, della velocità di generazione dei log, della finestra di conservazione e degli eventuali log delle applicazioni scritti nei volumi. La rotazione dello stdout non limita un file di log separato creato dall'applicazione.

Per `json-file`, `max-size=10m` e `max-file=3` limitano i file conservati a circa 30MB per container. Il driver `local` aggiunge compressione e rotazione con limiti, ma potrebbe essere necessario ricreare i container esistenti per applicare le impostazioni predefinite modificate.

Riserva ulteriore spazio sul disco di sistema per le immagini, i livelli scrivibili, gli aggiornamenti dei pacchetti e la diagnostica di emergenza. Non lasciare che il budget dei log consumi l'ultimo spazio utilizzabile su `/var/lib/docker`.

Genera avvisi sulla velocità e sullo spazio libero, non solo sulla dimensione

Monitora i byte per container, la crescita oraria, gli eventi di rotazione, i byte liberi nel filesystem e l'utilizzo degli inode. Un cambiamento improvviso della velocità spesso rivela un ciclo continuo di arresti anomali prima che il disco si riempia.

Imposta le soglie di avviso e critiche abbastanza presto da preservare le operazioni di riavvio e aggiornamento. Per un disco di sistema di piccole dimensioni, una riserva operativa fissa di 5–10GB può essere più significativa della sola percentuale.

Usa la tabella seguente per trasformare il comportamento osservato in un limite.

Stato osservato Valutazione Prossima azione
Servizio ordinario; velocità dei log ridotta Limite iniziale di 30–100MB Adatta alla finestra di risoluzione dei problemi
Servizio intermittente con cronologia giustificata Eccezione esplicita con limite maggiore Monitora la crescita e l'inoltro
Nessuna rotazione; spazio libero in diminuzione Non sicuro Abilita i limiti prima del normale funzionamento

Applica la rotazione senza perdere le informazioni essenziali

Imposta i valori predefiniti del demone e le eccezioni esplicite per i servizi più importanti, quindi ricrea o ridistribuisci i container affinché le impostazioni abbiano effetto. Verifica il driver attivo e le opzioni tramite l'ispezione del container.

Inoltra i log di sicurezza o di audit a una destinazione durevole separata se devono sopravvivere alla rotazione locale. L'output di debug ordinario non dovrebbe essere conservato indefinitamente sul disco di sistema.

Il flusso di lavoro per la crescita del disco di Docker di ZimaSpace separa i log dai livelli e dai volumi.

L'analisi della rotazione dei log di RunBook Academy mostra come `max-size` e `max-file` creino un limite massimo prevedibile.

-15% OFF

Forza una verifica con un container rumoroso

Genera un output di log controllato in un container di test e osserva la rotazione dei file. Conferma che i file meno recenti scompaiano al raggiungimento del numero configurato e che il container continui a funzionare.

Riavvia Docker e l'host, quindi ripeti il controllo. Verifica che gli avvisi scattino prima che la riserva operativa venga consumata e che i log delle applicazioni esterni al driver siano limitati separatamente.

Procedi quando i log aggregati nel caso peggiore rientrano nel budget e la rotazione sopravvive al riavvio. Interrompi e correggi la configurazione se un container cresce senza limiti, la rotazione non è attiva o lo spazio libero scende al di sotto della riserva di sistema.

Supporto e consigli

Altro da leggere

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.