[英]How to connect to heroku postgres using docker spring boot app?
我正在嘗試從我部署到 heroku 的 postgres 數據庫(不是 docker 圖像)連接到 heroku postgres 數據庫,我部署到 docker 應用程序。 當我推送到 heroku 時,圖像構建良好,但是當應用程序啟動時出現錯誤。 似乎 JDBC_DATABASE_URL 沒有被注入到 docker 容器中,但我不知道如何讓它工作。
這是我的代碼:
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"]
應用程序屬性
## 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}
JDBC_DATABASE_URL
由Heroku buildpack設置。 當你使用 Docker 時,你不能使用 buildpacks。 如果您想模仿 buildpack 的功能,您可以復制此JDBC 配置文件腳本(但如果情況發生變化,您必須手動更新它)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.