Сейчас у меня в докер компос перед запуском основной программы запускается скрипт create_db, который с помощью psycopg подключается к контейнеру постгрес и создает там бд. Естественно после пересоздания все данные стираются, хотя волумы есть. Вкратце вопрос: как правиль инициализровать дб, создавать таблицы и тд в докер контейнере?
Что значит кластерная? Запускается 1 контейнер с бд и 1 контейнер с основной программой, если под одним инстансом ты подразумеваешь это
Если база кластеная - то 1 или 1000 контейнеров генерятся по одному принципу, если нет - то достаточно волюма и не монтировать его через кластерные механизмы или не синхронить с локальными, зависит от типа базы
Я не понимаю что значит кластерная 😀🤔
значит у вас не она
Есть же стандартный механизм для этого - положить в определеную папочку файлы, которые выполняются только в случае если база данных - еще пуста. Вот скажем кусок из моего docker-compose.yaml : volumes: - ./pinit:/docker-entrypoint-initdb.d И в папке pinit у меня лежит файл q.sql , в котором команды создания и наполнения нужных таблиц.
Обсуждают сегодня