Предположим есть некоторое многомодульное docker приложение. Которое использует postgres как БД. Postgres так же запущен в контейнер. Но встаёт вопрос, если надо обновить контейнер с Postgres, то все данные, которые были сохранены в БД будут потеряны. Правильно?
Как лучше организовать запуск Postgres в контейнере в данном случае?
В голове крутится только одна идея, примонтировать внешний диск в путь, куда постгрес сохраняет файловую структуру БД, и после обновления образа, папка с данными уже будет доступна со всеми старыми данными.
Папа Стифлера: Иметь общую и проверенную конфигурацию всего приложения. А не готовить один набор настроек для разработки, второй набор настроек для тестов и третий набор настроек для продуктовой установки.
Папа Стифлера: в чем геморой? Лично для меня профит - у меня несколько бд на одной машине, все они лежат в папке с соответствующим приложением. Удобно переносить, использовать другие экземпляры бд, бекапить.
Минус я вижу только для высоконагруженного сервиса - это задержки на сетевое взаимодействие.