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

Imagini și containere

O imagine se construiește din straturi și e imutabilă. Un container e imaginea „pornită", cu un strat scriibil deasupra. Lecția asta acoperă comenzile de zi cu zi: rulare, listare, log-uri, intrare în container, oprire, curățenie.

Rulare

docker run nginx                      # rulează, atașat la terminal
docker run -d nginx                   # detașat (în fundal)
docker run -d -p 8080:80 nginx        # mapează portul gazdă 8080 -> 80 din container
docker run -d --name web nginx        # cu un nume
docker run --rm -it alpine sh         # interactiv, șters la ieșire

Inspecție

docker ps                # containere care rulează
docker ps -a             # toate, inclusiv oprite
docker images            # imagini locale
docker logs web          # log-urile unui container
docker logs -f web       # live
docker stats             # consum de resurse, live

Interacțiune

docker exec -it web bash       # deschide un shell într-un container care rulează
docker exec web ls /etc       # rulează o comandă și ieși
docker cp fisier.txt web:/tmp/  # copiază fișiere în/din container

Oprire și ștergere

docker stop web
docker start web
docker restart web
docker rm web                 # șterge containerul (oprit)
docker rmi nginx              # șterge imaginea

Curățenie

docker system df              # cât spațiu ocupă Docker
docker container prune        # șterge containerele oprite
docker image prune            # imagini fără tag
docker system prune -a        # AGRESIV: tot ce nu e folosit acum

O bază de date de dezvoltare, într-o comandă

docker run -d --name pg-dev \
  -e POSTGRES_PASSWORD=secret \
  -e POSTGRES_DB=app \
  -p 5432:5432 \
  -v pg_data:/var/lib/postgresql/data \
  postgres:16

# aplicația se conectează la localhost:5432
# datele persistă în volumul pg_data chiar dacă ștergi containerul

Exercițiu

Rulează un container `nginx` detașat, cu portul mapat la 8080 și un nume. Deschide `localhost:8080` în browser. Intră în container cu `docker exec -it`, uită-te în `/usr/share/nginx/html`. Vezi log-urile. Oprește-l și șterge-l.

Greșeli frecvente

  • Uiți `-p` și nu poți accesa serviciul din container.
  • Rulezi containere fără `--name` și le identifici greu.
  • Nu folosești `--rm` pentru containere de o singură dată și se adună.
  • `docker system prune -a` fără să realizezi că șterge imagini pe care le mai vrei.

De reținut

  • docker run cu -d (fundal), -p (porturi), --name, -v (volume), -e (env).
  • ps / logs / stats pentru inspecție; exec -it pentru shell.
  • stop / start / rm / rmi pentru ciclul de viață.
  • prune pentru curățenie — cu atenție la `-a`.

Pe scurt

Comenzile Docker de zi cu zi: run cu opțiunile potrivite, exec pentru a intra, logs pentru depanare, prune pentru curățenie.

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.