Ghiduri

Ce este Docker? Containerele explicate pentru non-dezvoltatori

Docker este un instrument care împachetează o aplicație împreună cu tot ce are nevoie ca să ruleze — versiunea potrivită a limbajului, bibliotecile, uneltele de sistem și setările — într-o unitate standard numită container. Un container rulează la fel pe laptopul unui dezvoltator, pe un server de test sau pe un host în cloud, ceea ce rezolvă clasica problemă „la mine funcționa”. Rețeta pentru construirea unui container este un fișier text scurt numit Dockerfile.

De ce contează Docker când construiești cu AI

Dacă aplicația ta are un backend — un API în Python, Node, C# sau Java — trebuie să ruleze undeva unde este instalat exact software-ul potrivit. Docker este cel mai comun mod de a face asta repetabil.

  • Implementarea backend-urilor. Multe hosturi, inclusiv Mythex, implementează backend-urile construind un container dintr-un Dockerfile. În Mythex, dacă ceri „un Web API în C#” sau „un backend Java”, primești aplicația plus un Dockerfile, iar Publish construiește imaginea și o implementează (API backends).
  • Plecarea de pe o platformă. Dacă exporți o aplicație construită cu AI, un Dockerfile face mult mai ușor să o rulezi pe alt host. Vezi cum exportezi și găzduiești singur o aplicație construită cu AI.
  • Lucrul cu dezvoltatori. Un dezvoltator care se alătură proiectului tău poate porni întreaga aplicație cu una sau două comenzi, în loc să petreacă o zi instalând lucruri.

O analogie din viața de zi cu zi: containerele de transport

Înainte de containerele standard de transport, marfa era încărcată bucată cu bucată — saci, butoaie, lăzi — iar fiecare port o trata diferit. Containerul standard din oțel a schimbat asta: îl împachetezi o dată, iar orice navă, macara, tren sau camion îl poate muta fără să-i pese ce are înăuntru.

Docker face același lucru pentru software:

  • Dockerfile-ul este lista de împachetare și instrucțiunile.
  • Imaginea este containerul sigilat, împachetat.
  • Un container în funcțiune este cutia pusă la lucru pe o navă — aici, un server.
  • Docker Engine este macaraua și nava: software-ul de pe un server care știe să ruleze orice container.

Cum funcționează Docker

ComponentăCe este
DockerfileUn fișier text cu instrucțiuni pas cu pas pentru construirea imaginii.
ImagineUn pachet doar pentru citire: elemente de bază ale sistemului de operare, runtime, biblioteci și codul tău.
ContainerO instanță în funcțiune a unei imagini, izolată de alte aplicații de pe aceeași mașină.
RegistruUn loc unde se stochează și se partajează imaginile, precum Docker Hub sau registrul unui furnizor de cloud.
Docker EngineServiciul de fundal care construiește imagini și rulează containere. Gratuit și open source.
Docker DesktopO aplicație pentru Mac, Windows și Linux care include motorul împreună cu o interfață grafică.

Containere vs mașini virtuale: o mașină virtuală se preface că este un calculator separat, cu propriul sistem de operare, deci este grea și pornește lent. Un container împarte nucleul sistemului de operare al gazdei și izolează doar aplicația și fișierele ei, deci de obicei pornește în câteva secunde și consumă mult mai puțină memorie. Mai multe containere pot rula alături pe un singur server.

Un exemplu practic: un mic API Python

Să presupunem că constructorul tău de aplicații cu AI a creat un backend Python FastAPI pentru o aplicație de rezervări. Dockerfile-ul ar putea arăta așa:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Linie cu linie:

LiniaCe face
FROM python:3.12-slimPornește de la o imagine oficială care are deja Python 3.12 instalat.
WORKDIR /appLucrează în folderul /app din container.
COPY requirements.txt . și RUN pip install ...Copiază lista de biblioteci și le instalează.
COPY . .Copiază codul propriu al aplicației.
EXPOSE 8000Notează că aplicația ascultă pe portul 8000.
CMD [...]Comanda care pornește serverul web când rulează containerul.

Pe scurt: „Pornește cu Python 3.12. Instalează bibliotecile listate în requirements.txt. Copiază codul. Pornește serverul web pe portul 8000.”

Apoi un dezvoltator (sau o platformă de hosting) rulează două comenzi:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

Prima construiește imaginea și îi dă numele booking-api. A doua pornește un container și conectează portul 8000 de pe mașină la portul 8000 din container. API-ul rulează acum — exact la fel cum va rula pe orice server care are Docker.

Observă ce nu există în imagine: parole și chei API. Acestea se transmit la pornirea containerului, ca variabile de mediu, astfel încât aceeași imagine poate rula în testare și în producție cu setări diferite.

Termeni cheie

TermenÎnseamnă
ContainerUn pachet izolat, în funcțiune, cu o aplicație și dependențele ei.
ImagineȘablonul din care se pornește un container.
Imagine de bazăPunctul de plecare din linia FROM a unui Dockerfile, de exemplu python:3.12-slim sau node:22.
Strat (layer)Fiecare pas din Dockerfile adaugă un strat în cache, ceea ce face reconstruirile mai rapide.
Mapare de porturiConectarea unui port de pe gazdă la un port din interiorul containerului.
VolumStocare care supraviețuiește înlocuirii unui container. Containerele în sine sunt de unică folosință.
Docker ComposeUn fișier care descrie mai multe containere care rulează împreună, de exemplu un API plus o bază de date.
KubernetesUn sistem pentru rularea multor containere pe multe servere. Majoritatea aplicațiilor mici nu au nevoie de el.

Concepții greșite frecvente

  • „Docker este o mașină virtuală.” Este mai ușor: containerele împart nucleul gazdei.
  • „Datele salvate într-un container sunt în siguranță.” Containerele sunt făcute să fie aruncate și înlocuite. Orice trebuie să dureze — datele utilizatorilor, fișierele încărcate — aparține unei baze de date, stocării de fișiere sau unui volum.
  • „Pun secretele în Dockerfile, e în regulă pentru că e privat.” Imaginile se partajează și se trimit în registre. Transmite secretele la rulare.
  • „Docker face o aplicație sigură.” Izolarea ajută, dar un container cu software învechit și setări slabe este tot vulnerabil.
  • „Orice aplicație are nevoie de Docker.” Un site static sau un frontend simplu se găzduiește de obicei ca fișiere simple, fără niciun container.
  • „Docker Desktop este gratuit pentru toată lumea.” Motorul este gratuit; Docker Desktop cere un abonament plătit pentru companiile mai mari, conform termenilor Docker.

Ce să ceri constructorului tău de aplicații cu AI

  • „Această aplicație are nevoie de un Dockerfile? Dacă da, explică fiecare linie în limbaj simplu.”
  • „Folosește o imagine de bază mică și oficială și fixează versiunea limbajului.”
  • „Ține secretele afară din imagine. Citește-le din variabile de mediu la rulare.”
  • „Asigură-te că fișierele încărcate și datele sunt stocate în baza de date sau în stocarea de fișiere, nu în container.”
  • „Adaugă un fișier Docker Compose ca un dezvoltator să poată rula frontend-ul, API-ul și baza de date local cu o singură comandă.”
  • „Adaugă un endpoint de verificare a stării, ca hostul să poată spune dacă API-ul funcționează.”

Docker în Mythex

Nu trebuie să instalezi sau să rulezi Docker ca să folosești Mythex. Proiectul tău rulează într-un sandbox privat în cloud, iar când ceri un backend care are nevoie de un container — de exemplu C#, Java sau un serviciu Node sau Python personalizat — Mythex scrie aplicația plus un Dockerfile, o previzualizează în sandbox și o implementează când publici, fără nicio configurare de hosting (cum este aleasă tehnologia). Pe Pro poți exporta proiectul sau îl poți sincroniza cu GitHub și să iei Dockerfile-ul cu tine. Pentru felul în care backend-urile și frontend-urile se potrivesc, vezi frontend vs backend.

Întrebări

Ce este Docker, în termeni simpli?

Docker este un instrument care împachetează o aplicație împreună cu tot ce are nevoie ca să ruleze — runtime-ul limbajului, bibliotecile și setările — într-o unitate standard numită container. Containerul rulează la fel pe un laptop, pe un server de test sau pe un host în cloud.

Care este diferența dintre o imagine Docker și un container?

O imagine este șablonul împachetat, doar pentru citire: aplicația și dependențele ei, construite dintr-un Dockerfile. Un container este o copie care rulează a unei imagini. Poți porni mai multe containere dintr-o singură imagine.

Este Docker o mașină virtuală?

Nu. O mașină virtuală emulează un calculator întreg, cu propriul sistem de operare. Containerele împart nucleul sistemului de operare al mașinii gazdă și izolează doar aplicația, deci pornesc mai repede și consumă mai puțină memorie.

Este Docker gratuit?

Docker Engine, nucleul care rulează containerele, este gratuit și open source. Din septembrie 2026, termenii Docker spun că Docker Desktop este gratuit pentru proiecte open source necomerciale și pentru companii cu mai puțin de 250 de angajați și sub 10 milioane de dolari venit anual; companiile mai mari au nevoie de un abonament plătit.

Trebuie să învăț Docker ca să construiesc o aplicație cu AI?

De obicei nu. Mulți constructori de aplicații cu AI se ocupă de containere în locul tău. Ajută să știi ce este un Dockerfile, ca să înțelegi cum este împachetat un backend și ca să poți rula sau găzdui aplicația în altă parte dacă o exporți.

Mythex · Pricing · Construiește orice cu AI · Șabloane pentru site-uri și aplicații · Mythex comparat · Glosar pentru crearea de aplicații cu AI · Instrumente gratuite pentru crearea de aplicații cu AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)