me_edu
Docker для разработчиковШаг 15 из 23 · 0% пройдено
Тома и сети · Тома и сети

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

Контейнеры по своей природе временны: удалили контейнер — пропали и все данные внутри него. Для базы данных это недопустимо. Решение — тома (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. Правило: всё, что должно пережить контейнер (базы, загруженные файлы), храните в томах.

Назад

Обсуждение

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

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