me_edu
Docker для разработчиковШаг 24 из 31 · 0% пройдено
2. Профессиональный практикум: проект, качество и портфолио
3. Атлас программных моделей: данные, архитектура, API и тесты
Тома и сети

Тома (volumes): хранение данных

Шаг 24 из 316 минТеория
Цель

Понять основной механизм темы «Тома (volumes): хранение данных» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

STRUCTURAL BLOCK DIAGRAMCENTRAL UNITSQLтаблицытранзакцияключииндексзапросСтруктурная схемастрелки показывают поток данных/энергиимасштаб и расположение условные
Схема базы данных показывает таблицы, ключи, индексы и границу транзакции.
Опорная идея

Контейнеры по своей природе временны: удалили контейнер — пропали и все данные внутри него. Для базы данных это недопустимо. Решение — тома (volumes), которые хранят данные вне контейнера и переживают его пересоздание.

Именованный том создаётся и подключается флагом -v:

docker run -d --name db \ -v pgdata:/var/lib/postgresql/data \ postgres

Здесь том pgdata подключён к папке внутри контейнера, где Postgres хранит базу. Теперь данные сохранятся, даже если контейнер удалить и создать заново.

Есть и другой вид — bind mount: подключить папку с хоста прямо в контейнер. Это удобно при разработке, чтобы контейнер видел изменения кода сразу:

docker run -v $(pwd):/app myapp

Команды для томов: docker volume ls (список), docker volume create name, docker volume rm name. Правило: всё, что должно пережить контейнер (базы, загруженные файлы), храните в томах.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.