Po przeczytaniu dokumentacji poczułem się trochę zdezorientowany, jak najlepiej zarządzać produktywnymi danymi aplikacji / usług.
Wydaje się, że istnieją 3 opcje:
- Wystarczy zmapować wolumin do katalogu hosta (tj.
-v
Argument zadocker run
) - Utwórz obraz kontenera dokowanego dla danych (tj. Osobny kontener i
--volumes-from
) - Tworzenie woluminu dokera (tj.
docker volume create
)
Wygląda na to, że przyjętą praktyką jest opcja nr 2, ale zastanawiam się, jaki jest cel nr 3.
Zwłaszcza, jak właściwie radzisz sobie z tymi scenariuszami docker volume
i czy lepiej jest używać kontenera woluminu danych, czy to w każdej sytuacji?
- Potrzebujesz danych aplikacji w osobnym woluminie i / lub warstwie pamięci na serwerze
- Tworzenie kopii zapasowej
- Przywracanie danych
btrfs scrub
na nim uruchomić , aby znaleźć i naprawić uszkodzone pliki. Nie jestem pewien, jak działają rzeczy dokowane, ale myślę, że to nie chroni przed gniciem danych, więc zawsze potrzebuję pełnego przywracania, jeśli coś złego się stanie, zamiast przywracania pojedynczych plików. Inna myśl, że dodaje kolejną warstwę abstrakcji, więc jeszcze bardziej spowalnia czytanie i pisanie plików. Jakoś nie widzę zalet # 2 i # 3, ale nie mam doświadczenia z dokerem, więc to może się zmienić.