РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcNdMgDt 26 of 39 menu
◀ ▶

Данные Mongo в Docker

Данные Mongo лежат в томе, и новый контейнер сервера их не стирает. Файлы базы пишутся в хранилище dbdata, а не только в слой работающей копии. Остановка проекта без удаления тома оставляет документы на месте.

Сервис db на mongo:8.3 монтирует том dbdata в /data/db без пароля при старте:

services: db: image: mongo:8.3 volumes: - dbdata:/data/db volumes: dbdata:

После фонового подъёма положим документ через клиент в базу app и коллекцию notes:

docker compose up -d

Запись со словом hello:

docker compose exec db mongosh --quiet app --eval "db.notes.insertOne({ text: 'hello' })"

Контейнеры убирают без флага удаления томов:

docker compose down

Новый фоновый подъём снова подключит dbdata. Чтение первого документа показывает текст hello:

docker compose up -d

Проверка внутри сервиса:

docker compose exec db mongosh --quiet app --eval "db.notes.findOne()"

Подключите том ledger к /data/db для сервиса db без пароля и запишите документ в базу log.

Уберите контейнеры без удаления тома, поднимите проект снова и убедитесь, что документ в log на месте.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить