Java-приложение в докере: не удалось получить экземпляр драйвера для postgres - PullRequest
0 голосов
/ 03 мая 2018

Я создал веб-приложение на Java. Когда я запускаю java -jar xxx.jar на хосте, он может без проблем подключиться к Postgres DB на моем хосте. Но мое приложение не может получить экземпляр драйвера для того же URL-адреса jdbc, когда он запускается в док-контейнере, который я создал. Ошибка:

java.lang.RuntimeException: не удалось получить экземпляр драйвера для JDBCURL =»JDBC: PostgreSQL: // ip_of_my_host: 5432 / СРР»

Вот так я запускаю образ докера:

docker run -p 4567:4567 \
  -e JP_RESULTS_DB_URL=’jdbc:postgresql://ip_of_my_host:5432/srr’ \
  -e JP_RESULTS_DB_USERNAME=my_username \
  -e JP_RESULTS_DB_PASSWORD=my_password \
  -it id_of_image

4567 - это номер порта моего сервера Rest API. Нужно ли также устанавливать портирование для 5432? Если я добавлю «-p 5432: 5432», я получу сообщение об ошибке, оно уже выделено, поэтому я не добавил этот порт для запуска Docker.

В чем может быть проблема? Это проблема драйвера или порта или что-то еще?

Я не нашел здесь никаких полезных ответов, поэтому я должен спросить.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Эта проблема была решена путем изменения обратной кавычки. Документ Google автоматически изменил мою одиночную цитату на наклон, и я не заметил, пока @Phil указал.

0 голосов
/ 03 мая 2018

Вы должны использовать docker-compose для создания стека, а затем смонтировать драйвер postgresql, java и т. Д. Для создания всей инфраструктуры.

для этого вам нужно создать docker-compose yml.

например найти ссылку ниже

Докер Compose + Spring Boot + Postgres соединение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...