繁体   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