尝试从Docker连接到外部MySQL服务器时出现HibernateException

时间:2018-03-16 07:30:46

标签: java mysql spring hibernate docker

我创建了一个使用Hibernate和Spring启动的小应用程序。我在外部服务器上有MySQL数据库,有一些123.123.12.123 IP地址。

当我通过java -jar myapp.jar运行此应用本地(在Windows上)时,没有问题,应用正在启动且一切正常。当我尝试在Docker中运行此应用程序时出现问题。应用甚至没有开始。有HibernateException:

Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set

我确定这是因为我无法连接到db。 (当我尝试连接本地并且db不可用时,我遇到同样的问题)。那么我该怎么做才能解决这个问题呢?这是我的application.properties

spring.datasource.url=jdbc:mysql://123.123.12.123:3306/szoplist_db
spring.datasource.username=root
spring.datasource.password=my_passwd

修改

我正在通过docker run -p 8080:8080 <IMAGE_ID>运行码头图片。

Dockerfile:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE

ADD ${JAR_FILE} /app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

具有相同Dockerfile和run命令的另一个应用程序(没有db)有效。

0 个答案:

没有答案