dockerized postgres и докеризированное загрузочное приложение Spring - PullRequest
0 голосов
/ 10 октября 2018

мой файл application.properties

server.port=8085
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://init-postgres:5432/dbname
spring.datasource.username=username
spring.datasource.password=password

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update

и для докеризации postgres я использую команду

docker run -d -p 5432:5432 --name init-postgres -e POSTGRES_DB=dbname -e POSTGRES_USER=username -e POSTGRES_PASSWORD=password postgres

, но она дает java.net.UnknownHostException: init-postgres Я начинающий с Docker и изучаю его из учебника.для подключения к загрузочным приложениям Postgresql & Spring.

1 Ответ

0 голосов
/ 10 октября 2018

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

spring.datasource.url=jdbc:postgresql://init-postgres:5432/dbname

с

spring.datasource.url=jdbc:postgresql://localhost:5432/dbname

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

Я предлагаю использовать docker-compose, это удобный инструмент, который может облегчить трудности развертывания, и он полезен при разработке, поскольку позволяет поднимать и закрывать ваше приложение без особых хлопот.На официальном сайте докера есть хорошее введение в инструмент с примерами.

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