Volume persistente

Docker intermediar

Mike Metzger

Data Engineering Consultant

Ce este un volum?

  • Volumele sunt o opțiune de stocare a datelor în Docker, independentă de imaginea containerului sau de sistemul de fișiere al gazdei
  • Sunt gestionate din linia de comandă (sau prin API)
  • Pot fi partajate între mai multe containere
  • Performanță superioară față de partajările de fișiere / bind mounts
  • Există până la ștergere

Montare volum

1 Image modified from https://docs.docker.com
Docker intermediar

Gestionarea volumelor

  • docker volume
  • docker volume create <volumename>
  • docker volume ls sau docker volume list
  • docker volume inspect
    • Afișează metadate despre volum: Name, Mountpoint, Options etc.
  • docker volume rm
Docker intermediar

Exemplu: crearea unui volum

bash> docker volume create sqldata
sqldata
bash> docker volume ls
DRIVER    VOLUME NAME
local     2f2b7f710551e004dcdd9edf4cad31c37826b428de12f1c04ca02305d216ab00
local     14da7ff0c6eb29f644e6f9f9d59bbcf56b3699c04881dd7cbcaa9ecd6bef239c
local     150aa3c5c7aee30ffd1ec7ecf39f03989bf561536a9413ebed96ffbaa537d103
local     sqldata
...
Docker intermediar

Exemplu: volume inspect

bash> volume inspect sqldata

[ { "CreatedAt": "2024-01-27T04:27:51Z", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/sqldata/_data", "Name": "sqldata", "Options": null, "Scope": "local" } ]
Docker intermediar

Atașarea volumelor

  • Utilizează opțiunea -v
    • docker run -v <volumename>:<destination path>:<options>
    • Numele volumului este cel al unui volum existent
    • Calea de destinație este locația unde va fi montat volumul (ex.: /data)
    • Opțiunile sunt o listă opțională de valori separate prin virgulă, precum ro pentru doar-citire.
  • --mount există și pentru volume, ca și pentru bind-mounts
$ docker run -v sqldata:/data postgres
Docker intermediar

Drivere

  • Metode de stocare a volumelor Docker
  • Pot include:
    • Sistem de fișiere local (implicit)
    • NFS (partajare fișiere Unix)
    • SMB / CIFS (partajare fișiere Windows)
Docker intermediar

Să exersăm!

Docker intermediar

Preparing Video For Download...