встроенная бд, но я запускаюсь через докер и если я делаю перебилд, то бд улетает в небытие. Что можно сделать?
volume?
volume есть, но какой смысл от него, если я делаю перебилд
Тут можно разделить для ясности. У тебя встроенная СУБД, а БД возможно лежит у тебя где-то в виде файла... Ну и вопрос тогда можно задать по другому.
что подразумевается под перебилдом?
docker-compose —build
Я использую pebble
так постой, а в чём именно проблема?
Есть папка db, в ней все файлы pebble лежат. Я создаю volume на эту папку, дальше мне нужно, например, внести некоторые правки. Я меняю файлы, добавляю и т.п., дальше делаю docker-compose —build чтобы оно новые файлы подтянуло. Но когда я выполняю эту команду у меня папка db также подтягивается из сурса и заменяется заместо заполненной в контейнере
У имиджа своя файловая система. Когда ты стартуешь контейнер ты можешь подмонтировать что-нибудь с хостовой машины в любое место в контейнере, тогда оно не потеряется при рестарте.
https://docs.docker.com/storage/volumes/
Просто не используй анонимный volume. Именованные будут переподключаться при перезапуске. Пересборка тут ни причем.
А, понял. Похоже в этом и проблема
У меня маленький вопрос. Volume мои сурсы меняет или только у себя там ? Если у себя, то как мне потом выгружать оттуда бд?
Не понял про сурсы. Volume (том) - это просто каталог в /var/lib/docker/... на хост-системе, который монтируется в контейнер. Если нужно будет из него выгрузить данные, то можно будет смонтировать его в любой контейнер, в который смонтирован другой каталог с хоста и руками скопировать данные из одного места в другое.
Обсуждают сегодня