我正在尝试对接我的spring boot应用程序,它使用gradle和kotlin。我有一个Dockerfile,看起来像这样:
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映像,它就会失败:
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的数据库连接属性,所以我真的不知道这有什么问题。
发布于 2019-09-28 13:36:36
在运行测试时,我将应用程序配置为使用内存中的数据库,这解决了问题。
发布于 2019-09-28 00:40:45
您的数据库连接似乎不成功。如果您的数据库在本地运行,请尝试以下操作。
使用--network=host选项。这种网络模式本质上意味着容器可以直接访问localhost,您现在可以访问localhost:3306。下面是命令
docker run -p 8080:8080 --network=hosthttps://stackoverflow.com/questions/58134520
复制相似问题