簡體   English   中英

如何使用 docker spring 引導應用程序連接到 heroku postgres?

[英]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_URLHeroku buildpack設置。 當你使用 Docker 時,你不能使用 buildpacks。 如果您想模仿 buildpack 的功能,您可以復制此JDBC 配置文件腳本(但如果情況發生變化,您必須手動更新它)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM