Оболочка PSQL, ни мой jdbc-url не могут найти мои базы данных контейнера Docker при загрузке приложения

#java #postgresql #docker #psql

#java #postgresql #docker #psql

Вопрос:

Я пытаюсь следовать руководству по SpringBoot здесь

и заключительным действием является использование файла .yml для подключения моего логического кода к контейнерной базе данных. При запуске приложение не находит мою контейнерную базу данных на

jdbc-url: jdbc: postgresql://localhost: 5432/demodb

и я получаю эту ошибку

ФАТАЛЬНЫЙ: база данных «demodb» не существует

Создать базу данных «demodb» с помощью оболочки psql было единственным способом избежать этой ошибки, но,

Я хочу иметь возможность использовать базу данных контейнера, и я полагал, что оболочка psql будет иметь видимость того, что было создано внутри моего контейнера. Скриншот здесь доказывает обратное (слева находится оболочка). (Справа находится контейнер)

Все логины (для контейнера и оболочки) идентичны, но ввод psql -U postgres в командной строке приводит к моему локальному хостингу psql.

Когда я использую conninfo, базы данных моей оболочки подключаются к «localhost» (адрес «::1») через порт «5432», в то время как базы данных контейнера подключаются через сокет в «/ var / run / postgresql» через порт «5432».

Изменение моего jdbc на jdbc-url: jdbc: postgresql://var/run / postgresql: 5432 / demodb также не сработало.

Это потому, что у меня на моем компьютере два разных psql?

Ответ №1:

В качестве ответа на мой собственный вопрос, тем, кто хочет, чтобы URL-адрес jdbc подключался к базе данных контейнера docker, необходимо обязательно остановить любую службу Postgresql 12.

Первоначально мое соединение было отклонено на моем IP-адресе контейнера, но я мог подключиться через терминал. Моя СУБД postgres тоже была на localhost.