Восстановление дампа в Docker
Восстановление дампа кладёт документы из файла обратно в сервер. Утилита читает архив и создаёт базы и коллекции заново, как при обычной записи.
В каталоге проекта
уже лежит dump.archive
с базой app
и документом hello.
Сервис поднимают
на пустом томе,
чтобы заливка была видна:
services:
db:
image: mongo:8.3
volumes:
- dbdata:/data/db
volumes:
dbdata:
После фонового подъёма
на чистом dbdata
файл с хоста подают
на стандартный ввод
внутри сервиса db:
docker compose up -d
docker compose exec -T db mongorestore --archive < dump.archive
Флаг -T
у docker compose exec
нужен, чтобы команда
приняла файл
со стандартного ввода.
Без него оболочка compose
может не передать поток
с компьютера в процесс
внутри копии.
После заливки документ
со словом hello
снова в базе app -
данные из архива
заняли пустой том.
Подготовьте на хосте файл seed.archive с базой tags, поднимите сервис на новом томе reload и залейте архив в пустой сервер.
Убедитесь, что документы базы tags видны после заливки на пустом томе.