Inspectarea Modificărilor Sistemului de Fișiere cu docker diff în Docker

Containere Standard Docker

Ghid detaliat pentru comanda docker diff: analizarea în timp real a modificărilor survenite în stratul containerului (A - Adăugat, C - Schimbat, D - Șters) față de imaginea de bază.

Sintaxă comandă
docker diff <container>

Comanda docker diff inspectează stratul temporar Read-Write al unui container activ sau oprit și afișează toate fișierele și directoarele care au fost modificate de la pornirea containerului față de imaginea sa inițială. Este instrumentul ideal pentru a investiga ce fișiere temporare consumă spațiu, dacă un script a generat fișiere de jurnal neașteptate sau dacă un atacator a injectat cod malițios în sistemul de fișiere al containerului.

Interpretarea ieșirii comenzii docker diff
# Inspectăm modificările din containerul 'api-server':
docker diff api-server

# Exemplu de ieșire:
# C /var
# C /var/log
# A /var/log/app_audit.log
# C /tmp
# A /tmp/cache_sess_9482.tmp
# D /etc/nginx/default.conf.bak

Codurile de stare returnate de docker diff:

  • A (Added – Adăugat): Un fișier sau director nou a fost creat în interiorul containerului.
  • C (Changed – Modificat): Un fișier sau director existent inițial în imagine a fost alterat sau i-au fost schimbate permisiunile.
  • D (Deleted – Șters): Un fișier din imaginea inițială a fost șters de către procesul din container.
Atenție la performanță: Dacă docker diff listează mii de fișiere adăugate în mod continuu (ex: jurnale sau fișiere cache), containerul va suferi o degradare de viteză din cauza mecanismului Copy-on-Write din OverlayFS. Toate aceste date dinamice trebuie mutate pe un Named Volume sau tmpfs!