首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker gradlew构建使用HibernateException失败

Docker gradlew构建使用HibernateException失败
EN

Stack Overflow用户
提问于 2019-09-27 20:25:14
回答 2查看 262关注 0票数 1

我正在尝试对接我的spring boot应用程序,它使用gradle和kotlin。我有一个Dockerfile,看起来像这样:

代码语言:javascript
复制
FROM java:8-jdk-alpine as build-and-run
WORKDIR /app
COPY . .
RUN ./gradlew build --stacktrace --scan

ENV ARTIFACT_NAME=resource-server-0.0.1-SNAPSHOT.jar
ENV APP_HOME=/app
WORKDIR $APP_HOME
COPY --from=build $APP_HOME/build/libs/$ARTIFACT_NAME .
EXPOSE 80
ENTRYPOINT ["java","-jar","/build/libs/$ARTIFACT_NAME"]

./gradlew build命令在docker之外工作得很好,但只要我尝试构建docker映像,它就会失败:

代码语言:javascript
复制
xyz.resourceserver.ResourceServerApplicationTests > contextLoads FAILED
    java.lang.IllegalStateException
        Caused by: org.springframework.beans.factory.BeanCreationException
            Caused by: org.hibernate.service.spi.ServiceException
                Caused by: org.hibernate.HibernateException

我在application.properties中有spring boot的数据库连接属性,所以我真的不知道这有什么问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-28 13:36:36

在运行测试时,我将应用程序配置为使用内存中的数据库,这解决了问题。

票数 0
EN

Stack Overflow用户

发布于 2019-09-28 00:40:45

您的数据库连接似乎不成功。如果您的数据库在本地运行,请尝试以下操作。

使用--network=host选项。这种网络模式本质上意味着容器可以直接访问localhost,您现在可以访问localhost:3306。下面是命令

代码语言:javascript
复制
docker run -p 8080:8080 --network=host
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58134520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档