Crearea unei Imagini dintr-un Container Modificat cu docker commit în Docker

Containere Standard Docker

Ghid de utilizare a comenzii docker commit: salvarea stării interne a unui container activ sau oprit într-o imagine nouă, ideală pentru depanare rapidă, investigații de sistem și teste izolate.

Sintaxă comandă
docker commit [opțiuni] <container> [depozit[:etichetă]]

Comanda docker commit capturează starea sistemului de fișiere a unui container (inclusiv pachetele instalate manual sau modificările aduse fișierelor de configurare) și generează o nouă imagine Docker locală. Deși în producție imaginile trebuie construite declarativ și reproductibil printr-un Dockerfile, docker commit este indispensabil în procesele de depanare (debugging), testare rapidă și investigare criminalistică (forensics) a unui container compromis.

Salvarea stării unui container de depanare
# 1. Pornim un container temporar și facem modificări în el:
docker run -it --name depanare-app ubuntu:22.04 /bin/bash
# (în interiorul containerului instalăm pachete necesare investigației):
apt update && apt install -y curl tcpdump htop
exit

# 2. Creăm o imagine nouă salvând starea containerului oprit:
docker commit -m "Adaugat instrumente de retea pentru depanare" -a "Echipa DevOps" depanare-app ubuntu-diagnostic:v1

# 3. Verificăm apariția noii imagini în lista locală:
docker images ubuntu-diagnostic
# REPOSITORY          TAG       IMAGE ID       SIZE
# ubuntu-diagnostic   v1        8f921ab04e72   180MB

Parametri Utili pentru docker commit

  • -a, --author: Numele autorului care a creat imaginea (ex: "Nume <email@domeniu.ro>").
  • -m, --message: Mesaj de commit descriptiv pentru jurnalul imaginii.
  • -c, --change: Aplică instrucțiuni de Dockerfile direct în timpul salvării (ex: -c "CMD ['nginx', '-g', 'daemon off;']" sau -c "EXPOSE 8080").
  • -p, --pause: Pune pe pauză containerul în momentul salvării pentru a garanta consistența datelor (opțiune activată implicit).