MyTetra Share
Делитесь знаниями!
Время создания: 09.12.2025 19:31
Автор: alensav
Текстовые метки: Docker volume
Раздел: LINUX_уроки
Запись: alensav/MyTetra2/main/base/1765297906jby3n69vla/text.html на raw.githubusercontent.com

Docker Volumes & Data Persistence → Контейнеры по умолчанию временные, их данные исчезают после остановки или удаления. → Docker даёт механизмы для постоянного хранения, чтобы данные переживали перезапуски. → Самый надёжный способ - использовать Docker volumes.

1. Почему важна устойчивость данных → Контейнеры часто пересоздаются при обновлениях и масштабировании. → Без персистентности пропадут логи, базы данных, загрузки пользователей, конфиги. → Docker volumes решают это, вынося данные за пределы файловой системы контейнера.

2. Варианты хранилищ в Docker a) Volumes → Управляются Docker. → Хранятся в /var/lib/docker/volumes/. → Не зависят от контейнеров. → Лучший выбор для БД и долгоживущих данных. b) Bind Mounts → Привязывают локальную директорию хоста к контейнеру. → Удобно в разработке. → Менее переносимые. c) tmpfs Mounts → Данные только в памяти. → Очень быстрые, но непостоянные. → Для временных и чувствительных данных.

3. Что такое Docker Volume → Это область постоянного хранения, управляемая Docker. → Не удаляется при удалении контейнера. → Можно безопасно шарить между контейнерами. Создать volume: docker volume create mydata Использовать: docker run -v mydata:/app/data nginx Посмотреть: docker volume inspect mydata


4. Типы Volumes a) Named Volumes → Создаются вручную. → Чистая изоляция от файлов системы хоста. → Лучший вариант для продакшена. b) Anonymous Volumes → Без имени. → Могут удаляться вместе с контейнером. → Для временных задач.


5. Преимущества Docker Volumes → Данные переживают рестарты. → Легко бэкапить и переносить. → Работают при обновлении контейнеров. → Можно шарить между контейнерами. → Docker оптимизирует хранение под производительность.


6. Bind Mounts → Позволяют смонтировать директорию хоста:

docker run -v /host/path:/container/path myapp

→ Удобно в разработке (горячая перезагрузка кода). → В продакшене использовать аккуратно.


7. Persistency в Docker Compose Compose автоматически управляет volumes. Пример: services:

db: image: postgres volumes: - pgdata:/var/lib/postgresql/data volumes: pgdata: → База сохраняет данные между перезапусками.


8. Бэкап и восстановление Volumes Бэкап:

docker run --rm -v mydata:/data -v $(pwd):/backup alpine tar czvf /backup/backup.tar.gz /data Восстановление:

docker run --rm -v mydata:/data -v $(pwd):/backup alpine tar xzvf /backup/backup.tar.gz -C /


9. Как выбрать способ хранения → Volumes - лучший вариант для продакшена. → Bind mounts - для разработки. → tmpfs - для временных и быстрых операций. Quick tip → Docker volumes - основа устойчивости данных. → Даёт гибкость, скорость и надёжность. → Незаменимы для баз данных, stateful-сервисов и реальных продакшен-приложений.```

 
MyTetra Share v.0.67
Яндекс индекс цитирования