@Nightmare058

Почему liquibase не работает в docker?

Вопрос следующий:
Есть приложение на Java+Spring. За формирование БД отвечает liquibase. При запуске через Intellij idea БД создаётся корректно. Но если скомпилииовать jar и запустить в docker compose, то liquibase не отрабатывает, БД формируется через hibernate.
В чем может быть причина?

62fbb67d32886329130526.jpeg62fbb6825c74b368423022.jpeg62fbb6a347bea949957921.jpeg62fbb6a83e678835934627.jpeg62fbb6b25a984465764879.jpeg
62fbb6da23b1c002107243.jpegДобрый день.
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
@Nightmare058 Автор вопроса
Проблема была в том, что я удалял только данные БД и контейнеры
А образы не трогал
Удалил образы, собрал заново - все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Вариантов может быть несколько.
Например, вы указали некорректный путь до БД в конфигах liquibase. Как вариант, вы могли указать localhost вместо названия самого докер контейнера в jdbc url или еще что...
Ответ написан
Комментировать
@frozendog
Как выше сказали у вас localhost вместо имени контейнера.
1 - прикладывайте docker-compose по крайней мере с интересующими вас сервисами
2 - здесь можно прикладывать код, например я бы мог скопировать строчку и подписать что можно с ней сделать.
3 - чтобы работало и в докере и на рабочей машине придется в docker-compose(или в .env) определять в environment путь до базы spring.datasource.url
3.b - как вариант в application.yml написать:
spring.datasource.url=jdbc:postgresql://${MYAPP_DB_HOST:localhost}:5432...

тогда достаточно будет определить MYAPP_DB_HOST в .env.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы