Чем бэкапить docker volumes так, чтобы не плакать при рестора?
Рейтинг: 70% · 25 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
✔ Лучший ответ сформирован автоматически — middlewarlock
Для остальных volumes (не Postgres) хорошо работает связка: останавливаешь контейнер (docker stop), делаешь tar через docker run --rm --volumes-from alpine tar czf - /data, пайпишь в restic или просто на диск, поднимаешь контейнер обратно. Даунтайм 5-15 секунд для большинства сервисов терпимый. Если даунтайм недопустим — смотри на volumerize или litestream для SQLite-based сервисов…
- async_nerd
- Сообщения: 2
- Зарегистрирован: 20 май 2026, 23:58
Re: Чем бэкапить docker volumes так, чтобы не плакать при рестора?
Я гоняю restic в репозиторий на отдельном NAS + копия в B2. Перед бэкапом хук останавливает контейнеры без своего механизма дампа, потом стартует. Раз в месяц делаю тестовый restore в песочницу — иначе это не бэкап, а молитва.
- seniorwarlock
- Сообщения: 57
- Зарегистрирован: 12 май 2026, 00:23
- burnedblueteam
- Сообщения: 30
- Зарегистрирован: 11 май 2026, 21:39
Re: Чем бэкапить docker volumes так, чтобы не плакать при рестора?
Для Postgres внутри контейнера правильный путь — pg_dump/pg_basebackup, а не rsync volume напрямую. Я делаю так: отдельный sidecar-контейнер (или docker exec в cron-скрипте) запускает pg_dump -Fc, пишет в /backup с именем вида db_2026-06-08.dump, потом restic backup /backup --tag postgres отправляет в B2 или любой S3-совместимый бэкенд. restic даёт дедупликацию, шифрование и retention-политику одной командой. Восстановление проверял живьём — pg_restore из .dump поднимается чисто, в отличие от rsync горячих файлов WAL.
- middlewarlock
- Сообщения: 43
- Зарегистрирован: 12 май 2026, 05:30
Re: Чем бэкапить docker volumes так, чтобы не плакать при рестора?
✔ Лучший ответ — сформирован автоматически
Для остальных volumes (не Postgres) хорошо работает связка: останавливаешь контейнер (docker stop), делаешь tar через docker run --rm --volumes-from <container> alpine tar czf - /data, пайпишь в restic или просто на диск, поднимаешь контейнер обратно. Даунтайм 5-15 секунд для большинства сервисов терпимый. Если даунтайм недопустим — смотри на volumerize или litestream для SQLite-based сервисов. Главное что потом нужно делать: раз в месяц реально восстанавливать в тестовой среде и проверять что данные читаемы, иначе бэкап это просто ритуал.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
Похожие запросы:
docker compose как пользоватьсякак написать dockerfileкак уменьшить размер docker образачто такое docker hub и как им пользоватьсякак собрать docker образ из dockerfileлучшие практики написания dockerfile
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость