H2 控制台无法在 Docker 上运行(远程连接('webAllowOthers')被禁用)

abi*_*kay 5 spring h2 docker dockerfile docker-compose

我有一个 api 应用程序,它在端口 8080 上使用 h2 db 运行,当我从 IDE 运行该应用程序时,h2-console 运行良好。

我已经使用 dockerfile 和 docker-compose.yml 对项目进行了 dockerized,该项目运行没有问题,一切看起来都很好,只是当我从 docker 运行项目时无法到达 h2-console。

我收到错误:“抱歉,此服务器上禁用远程连接('webAllowOthers')。

我检查了一些解决方案并应用了

spring.h2.console.settings.web-allow-others=true
Run Code Online (Sandbox Code Playgroud)

application-DOCKER.properties以及application.properties文件,但当我在 docker 上运行项目时仍然看不到 h2 控制台。

我该如何解决这个问题?

小智 2

我有同样的问题。我在研究这个问题后找到了这个答案

在 Dockerfile 中启动 jar 之前,您可以通过提供以下参数来启动它。(“-web -webAllowOthers -tcp -tcpAllowOthers -浏览器”)

我的 Dockerfile;

FROM openjdk:8-jdk-alpine
ADD target/*.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar", "-web -webAllowOthers -tcp -tcpAllowOthers -browser"]
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)

这样的话,希望不会出现什么问题。