-
Notifications
You must be signed in to change notification settings - Fork 2
Volumes and Data
Контейнеры по своей природе одноразовые: при удалении контейнера всё, что хранилось внутри,
пропадает. Чтобы база данных и скачанные .torrent-файлы сохранялись, их выносят в тома
(volumes) или в папки хоста.
| Путь в контейнере | Что хранит | Обязательно сохранять |
|---|---|---|
/data/htdocs/db |
База данных SQLite (tm.sqlite) и файл настроек (config.xml) |
✅ Да |
/data/htdocs/torrents |
Скачанные .torrent-файлы |
✅ Да |
/data/htdocs/logs |
Логи приложения (опционально) | желательно |
Образ объявляет тома для /data/htdocs/db и /data/htdocs/torrents — это самые важные данные.
Если их не примонтировать явно, Docker создаст анонимные тома, которые легко потерять. Всегда
монтируйте эти пути явно.
Docker сам хранит данные в своей служебной области. Удобно и переносимо.
docker volume create torrentfiles
docker volume create db
docker container run -d \
--name torrentmonitor \
-p 8080:80 \
-v torrentfiles:/data/htdocs/torrents \
-v db:/data/htdocs/db \
alfonder/torrentmonitorГде физически лежат данные:
docker volume inspect db # поле "Mountpoint" покажет путь на хостеДанные лежат в обычных папках, которые вы видите в файловой системе. Удобно для бэкапов и ручного доступа к файлам.
mkdir -p /opt/torrentmonitor/torrents /opt/torrentmonitor/db
docker container run -d \
--name torrentmonitor \
-p 8080:80 \
-v /opt/torrentmonitor/torrents:/data/htdocs/torrents \
-v /opt/torrentmonitor/db:/data/htdocs/db \
alfonder/torrentmonitorПри использовании папок хоста часто нужно задать PUID/PGID, чтобы файлы принадлежали вашему пользователю.
services:
torrentmonitor:
image: alfonder/torrentmonitor:latest
volumes:
# Папки хоста рядом с docker-compose.yml:
- ./torrents:/data/htdocs/torrents
- ./db:/data/htdocs/db
- ./logs:/data/htdocs/logs
- /etc/localtime:/etc/localtime:roИли с именованными томами:
services:
torrentmonitor:
image: alfonder/torrentmonitor:latest
volumes:
- torrentfiles:/data/htdocs/torrents
- db:/data/htdocs/db
volumes:
torrentfiles:
db:Просто скопируйте папки:
tar czf torrentmonitor-backup-$(date +%F).tar.gz -C /opt/torrentmonitor db torrentsСамое важное — база данных. Скопировать её из тома:
docker run --rm \
-v db:/data \
-v "$(pwd)":/backup \
alpine tar czf /backup/tm-db-backup.tar.gz -C /data .Восстановление:
docker run --rm \
-v db:/data \
-v "$(pwd)":/backup \
alpine sh -c "cd /data && tar xzf /backup/tm-db-backup.tar.gz"💾 Перед обновлением образа или экспериментами обязательно делайте бэкап папки
db— там вся ваша конфигурация и список отслеживаемых раздач.
Да. Если данные вынесены в тома или папки хоста, контейнер можно безопасно удалять и пересоздавать — данные не пострадают:
docker container rm -f torrentmonitor
docker container run -d ... alfonder/torrentmonitor # тот же том db — те же данныеУдаление именованного тома (docker volume rm db) или папки хоста — вот это удаляет данные
безвозвратно. Будьте внимательны.
Установка и запуск
- Установка Docker
- Запуск на NAS (Synology, QNAP)
- Быстрый старт
- Запуск через docker run
- Запуск через Docker Compose
Конфигурация
Сценарии
Эксплуатация
Приложение