Wolumeny w dockerze

W pracy z Dockerem bardzo szybko pojawia się temat przechowywania danych. Kontenery z założenia są tymczasowe — po ich usunięciu tracimy wszystko, co zostało zapisane w ich systemie plików. Właśnie tutaj wchodzą wolumeny (volumes).

Więc czym jest wolumen w Dockerze?

Wolumen to mechanizm pozwalający na przechowywanie danych poza kontenerem, ale nadal w sposób zarządzany przez Dockera.

Dzięki temu:
Wolumen to mechanizm pozwalający na przechowywanie danych poza kontenerem, ale nadal w sposób zarządzany przez Dockera.

Dzięki temu:

  • dane nie znikają po usunięciu kontenera
  • można je łatwo współdzielić między kontenerami
  • są niezależne od cyklu życia aplikacji

Bez użycia wolumenów wszystko, co zapisze się wewnątrz kontenera, jest ulotne, ponieważ kontener działa jak tymczasowa warstwa uruchamiana na bazie obrazu. W praktyce oznacza to, że w momencie jego restartu dane mogą zostać utracone, a przy usunięciu kontenera znikają całkowicie, bo wraz z nim usuwany jest jego system plików. Inaczej wygląda to w przypadku wolumenów, gdzie dane są przechowywane poza kontenerem w zarządzanym przez Dockera miejscu, dzięki czemu pozostają nienaruszone niezależnie od tego, co dzieje się z kontenerem. Można go bezpiecznie zatrzymać, uruchomić ponownie, a nawet usunąć i odtworzyć, a dane nadal będą dostępne, co pozwala traktować takie rozwiązanie jak trwałą warstwę danych, podobnie jak w klasycznych systemach bazodanowych.

Więcej o tym w moim filmiku na youtube: