Прочитавши документи, я трохи розгубився, як найкраще керувати продуктивними даними додатків / послуг.
Здається, є 3 варіанти:
- Просто картографуйте об'єм до каталогу хостів (тобто
-v
аргумент дляdocker run
) - Створіть зображення контейнера докер для даних (тобто окремий контейнер і
--volumes-from
) - Створення тома докера (тобто
docker volume create
)
Зараз здається, що прийнята практика - це варіант №2, але тоді мені цікаво, яка мета №3.
Особливо, як ви правильно поводитесь із цими сценаріями docker volume
і чи краще використовувати контейнер для обсягу даних або це для кожної ситуації?
- Вам потрібні дані програми в окремому томі та / або рівні зберігання на вашому сервері
- Резервне копіювання
- Відновлення даних
btrfs scrub
на ньому пошук і виправлення пошкоджених файлів. Я не впевнений, як працює докерізований матеріал, але я вважаю, що він не захищає від гниття даних, тому мені завжди потрібно повне відновлення, якщо щось погане трапиться замість того, щоб просто відновити окремі файли. Інша думка, що це додає ще один шар абстракції, тому він ще більше сповільнює читання та запис файлів. Я якось не бачу переваг №2 та №3, але я не маю досвіду роботи з докером, тому це може змінитися.