de Ying Kit Yuen

Cum se configurează rotația jurnalului pentru un container Docker

Cum se configureaza rotatia jurnalului pentru un container Docker

Cu toții avem nevoie de jurnale!

Uneori lucrează cu Docher mă face să simt că lucrez cu o cutie neagră. Mai ales când mă joc cu imagini Docker din comunitate și nu merge așa cum mă așteptam. În multe cazuri, citirea jurnalelor ocupă o mare parte din timp la depanare.

Cum se configureaza rotatia jurnalului pentru un container Docker

Acest articol este despre configurarea rotației jurnalelor pentru containerele Docker.

Driverul de înregistrare implicit

Putem configura diferite drivere de înregistrare pentru containere. În mod implicit, fișierul stdout și stderr din container sunt scrise într-un fișier JSON situat în / var / lib / docker / containers /[container-id]/[container-id]-json.log. Dacă îl lăsați nesupravegheat, poate ocupa o cantitate mare de spațiu pe disc, așa cum se arată mai jos.

1611947344 712 Cum se configureaza rotatia jurnalului pentru un container Docker
Un fișier jurnal mare în format json

Curățați jurnalul manual

Dacă acest fișier JSON ocupă o cantitate semnificativă din disc, îl putem purga folosind următoarea comandă.

Am putea configura o cronjob pentru a curăța periodic aceste fișiere JSON. Dar pe termen lung, ar fi mai bine să configurați rotația jurnalului.

Configurați rotația jurnalului

Configurați driverul de înregistrare implicit

Acest lucru se poate face prin adăugarea următoarelor valori în /etc/docker/daemon.json. Creați acest fișier dacă nu există.

fișier json driverul de înregistrare are încă câteva opțiuni și putem chiar să trecem la alți driveri de înregistrare, cum ar fi syslog. Pentru mai multe informații, vă rugăm să consultați Documente Docker – Configurați driverele de înregistrare.

Executați următoarele comenzi pentru a reîncărca actualizat daemon.json. Noua configurație se va aplica tuturor containerelor nou create după repornire.

Configurați driverul de înregistrare pentru un container

Configurarea se poate face și la nivelul containerului dacă nu doriți să o aplicați la nivel global.

Comanda docker run

Putem specifica driverul de înregistrare și opțiunile din docker run comanda. De exemplu:

Folosind docker-compose

Driverul și opțiunile de înregistrare pot fi, de asemenea, configurate folosind docker-compose. De exemplu:

Verificați dacă setarea funcționează.

1611947344 208 Cum se configureaza rotatia jurnalului pentru un container Docker
Jurnalele sunt împărțite în fișiere 1k

rezumat

Deși setările implicite funcționează bine, nu se știe niciodată când jurnalele de containere ocupă tot spațiul pe disc. Acest lucru poate fi evitat prin cei câțiva pași discutați mai sus. În afară de asta, jurnalele sunt un activ important. Ele nu sunt utile doar atunci când ceva nu merge bine, dar conțin și o mulțime de valori ascunse. Așa că nu lăsați niciodată jurnalele să plece

Dacă sunteți în căutarea unui soluție SAAS de gestionare a jurnalelor, ia în considerare utilizarea Şef de echipaj. Vă vom ajuta să gestionați toate jurnalele și să vă monitorizați Docher servere. ?

1611947344 770 Cum se configureaza rotatia jurnalului pentru un container Docker
Faptele insuficiente invită întotdeauna pericolul

– Postat inițial pe Blogul Boatswain.