Skip to content

Cum să gestionezi volume Docker

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să gestionezi volume Docker. We cover key concepts, practical examples, and best practices.

Vei învăța cum să gestionezi volumele Docker pentru a persista datele între rulări și a partaja fișiere între container și host.

Problema

Când ștergi un container, toate datele din interior se pierd. Fără volume, bazele de date își pierd înregistrările, fișierele încărcate dispar și starea aplicației se resetează la fiecare repornire.

Modul Greșit

docker run -d --name postgres postgres:15
docker rm -f postgres

Toate datele din baza de date sunt pierdute definitiv după ștergerea containerului.

Modul Corect

docker volume create pgdata
docker run -d --name postgres -v pgdata:/var/lib/postgresql/data postgres:15
docker rm -f postgres
docker run -d --name postgres2 -v pgdata:/var/lib/postgresql/data postgres:15

Output:

docker volume ls
DRIVER    VOLUME NAME
local     pgdata

Pași Detaliați

1. Creează un volum cu docker volume create

Volumul este gestionat de Docker și persistent pe disk.

docker volume create nume-volum

2. Montează volumul într-un container

docker run -v nume-volum:/cale/din/container imagine

3. Folosește bind mount pentru date locale

Montează un director de pe host direct în container.

docker run -v /absolut/cale/host:/cale/container imagine

Sfaturi de Prevenire

  • Preferă volumele gestionate de Docker în locul bind mounts pentru portabilitate
  • Folosește bind mounts doar pentru dezvoltare (cod sursă)
  • Verifică permisiunile: utilizatorul din container trebuie să aibă acces la volum
  • Folosește docker volume prune pentru a elimina volumele neutilizate

Greșeli Comune

  1. Cale absolută lipsă la bind mount -- Docker tratează căile relative ca nume de volum
  2. Permisiuni incorecte -- containerul rulează ca root dar volumul aparține altui utilizator
  3. Volum nedeclarat în compose -- serviciile nu pot partaja volumul
  4. Date pierdute după <a href="/devops/docker-compose/">docker compose</a> down -v -- opțiunea -v șterge volumele
  5. Volum neutilizat -- se acumulează și ocupă spațiu pe disk

Întrebări Frecvente

### Care este diferența între un volum Docker și un bind mount?

Un volum este gestionat de Docker și stocat în /var/lib/docker/volumes/. Un bind mount mapează un director existent de pe host direct în container.

Cum inspectez conținutul unui volum?

Rulează docker run -it --rm -v nume-volum:/data alpine ls /data pentru a vedea conținutul.

Cum șterg toate volumele neutilizate?

Folosește docker volume prune pentru a elimina volumele care nu mai sunt atașate niciunui container.

Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează perfect cu Docker pentru productivitate și securitate sporite.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro