Woluminy trwałe

Docker średnio zaawansowany

Mike Metzger

Data Engineering Consultant

Czym jest wolumin?

  • Woluminy to opcja przechowywania danych w Dockerze, niezależna od obrazu kontenera ani systemu plików hosta
  • Zarządzane z poziomu wiersza poleceń (lub API)
  • Można współdzielić między wieloma kontenerami
  • Wyższa wydajność niż bind mounty / udostępnianie plików
  • Istnieją do momentu usunięcia

Montowanie woluminu

1 Image modified from https://docs.docker.com
Docker średnio zaawansowany

Zarządzanie woluminami

  • docker volume
  • docker volume create <volumename>
  • docker volume ls lub docker volume list
  • docker volume inspect
    • Dostarcza metadane woluminu: nazwę, punkt montowania, opcje itd.
  • docker volume rm
Docker średnio zaawansowany

Przykład: tworzenie woluminu

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

Przykład: 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 średnio zaawansowany

Podłączanie woluminów

  • Używa flagi -v
    • docker run -v <volumename>:<destination path>:<options>
    • Nazwa woluminu to nazwa istniejącego woluminu
    • Ścieżka docelowa to miejsce montowania woluminu (np. /data)
    • Opcje to opcjonalna lista wartości rozdzielona przecinkami, np. ro (tylko do odczytu).
  • --mount dostępne jak w bind-mountach
$ docker run -v sqldata:/data postgres
Docker średnio zaawansowany

Sterowniki

  • Metody przechowywania woluminów Docker
  • Mogą obejmować:
    • Lokalny system plików (domyślny)
    • NFS (udostępnianie plików w systemie Unix)
    • SMB / CIFS (udostępnianie plików w systemie Windows)
Docker średnio zaawansowany

Czas na ćwiczenia!

Docker średnio zaawansowany

Preparing Video For Download...