Sari la conținut
← Docker pentru developeri
Progres curs 0 / 6 lecții (0%)

Ce rezolvă Docker

Docker rezolvă problema „merge pe calculatorul meu". Un container împachetează aplicația împreună cu tot ce-i trebuie ca să ruleze — versiunea exactă de limbaj, bibliotecile, configurarea. Aceeași imagine rulează identic pe laptopul tău, pe cel al colegului, în CI și în producție.

Container vs. mașină virtuală

O mașină virtuală emulează un calculator întreg, cu propriul sistem de operare — grea, lentă la pornire. Un container împarte kernelul sistemului gazdă și izolează doar procesul și dependențele lui — pornește în secunde, ocupă puțin.

Concepte de bază

  • Imagine: șablonul, read-only. Conține sistemul de fișiere și configurarea aplicației.
  • Container: o instanță care rulează dintr-o imagine. Efemer — poate fi șters și recreat.
  • Volum: stocare persistentă, în afara ciclului de viață al containerului (baza de date, upload-uri).
  • Rețea: cum comunică containerele între ele și cu exteriorul.
  • Registry: unde se publică și se descarcă imagini (Docker Hub, GitHub Container Registry).

De ce contează pentru un developer

  • Onboarding: un coleg nou rulează `docker compose up` și are tot mediul, în minute.
  • Consistență: nimeni nu mai are „altă versiune de PHP".
  • Izolare: proiecte diferite cu versiuni diferite, fără conflicte pe mașina ta.
  • Paritate: dev seamănă cu producția.

Instalare

Docker Desktop pe Windows/Mac, Docker Engine pe Linux. Verifici cu `docker --version` și `docker run hello-world`.

Exercițiu

Instalează Docker. Rulează `docker run hello-world`, apoi `docker run -it ubuntu bash` — ești într-un container Ubuntu izolat. Rulează câteva comenzi, ieși cu `exit`, și observă cu `docker ps -a` că containerul s-a oprit.

Greșeli frecvente

  • Confunzi imaginea (șablon) cu containerul (instanță care rulează).
  • Te aștepți ca datele să persiste într-un container fără volum.
  • Crezi că Docker e o mașină virtuală — modelul e diferit.
  • Nu cureți niciodată imagini/containere vechi și umpli discul.

De reținut

  • Container = aplicația + mediul ei, izolate, reproductibile, ușoare.
  • Imagine (șablon) → container (instanță).
  • Volume pentru date persistente; rețele pentru comunicare.
  • Beneficiul principal: consistență între dev, CI și producție.

Pe scurt

Docker împachetează aplicația cu mediul ei. Un container pornește rapid, e izolat, și rulează la fel peste tot.

Folosim cookie-uri esențiale pentru funcționarea site-ului și, cu acordul tău, cookie-uri de analiză și publicitate. Partenerii noștri, inclusiv Google, pot folosi cookie-uri pentru a afișa reclame relevante. Detalii în Politica de cookie-uri.