Как подключиться к heroku postgres с помощью загрузочного приложения docker spring? - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь подключиться к базе данных heroku postgres, которую я предоставил (не образ докера), из приложения докера, которое я развернул на heroku. Когда я нажимаю на heroku, изображение строится нормально, но когда приложение запускается, я получаю сообщение об ошибке. Кажется, что JDBC_DATABASE_URL не вводится в контейнер докера, но я не знаю, как заставить его работать.

Вот мой код:

heroku.yml

build:
  docker:
    web: Dockerfile

Dockerfile

FROM openjdk:8-jdk-alpine
COPY build/libs/myapp-0.0.1-SNAPSHOT.jar app.jar
CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

application.properties

## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
spring.datasource.url=${JDBC_DATABASE_URL}
spring.datasource.username=${JDBC_DATABASE_USERNAME}
spring.datasource.password=${JDBC_DATABASE_PASSWORD}

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.show-sql=true


# Hibernate ddl auto (create, create-drop, validate, update)
spring.jpa.hibernate.ddl-auto=update

Исключение

java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl, ${JDBC_DATABASE_URL}

1 Ответ

0 голосов
/ 23 октября 2019

JDBC_DATABASE_URL устанавливается Heroku buildpack . Когда вы используете Docker, вы не можете использовать buildpacks. Если вы хотите имитировать то, что делает buildpack, вы можете скопировать этот скрипт профиля JDBC (но вам придется обновить его вручную, если что-то изменится).

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