Docker для Маркетера

Пропала база данных после перезапуска. Что случилось и как не повторить

Пропала база данных после перезапуска. Что случилось и как не повторить

Классика первой недели: подняли MySQL в контейнере, наполнили данными, пересоздали контейнер — всё исчезло.

Причина: контейнер хранит свои изменения в тонком слое поверх образа. Удалили контейнер — удалили слой. Это не баг, это дизайн: контейнеры задуманы одноразовыми.

Решение — volumes, тома. Это папка снаружи контейнера, которая монтируется внутрь.

Два способа:

-v mydata:/var/lib/mysql — именованный том. Docker сам решает, где хранить на диске. Удобно, переживает пересоздание контейнера.

-v ./data:/var/lib/mysql — привязка к папке проекта. Видите файлы прямо в своей директории, легко бэкапить.

Куда монтировать — смотрите в описании образа на Docker Hub, там всегда указан путь к данным. Для MySQL это /var/lib/mysql, для PostgreSQL — /var/lib/postgresql/data, для WordPress — /var/www/html.

Правило: любой контейнер с данными запускается только с томом. Без исключений.

—
Чтобы быть в курсе рынка — подпишись на @merch_kontory
Этот пост опубликован в Telegram-канале Docker для Маркетера. Подписаться можно по ссылке: @docker_marketers.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.