当前位置: 首页 > 知识库问答 >
问题:

无法在Windows 10的Docker中运行Spring Boot应用程序(获取ERR_EMPTY_响应)?

姬经义
2023-03-14

我在Docker中运行的Spring Boot应用程序有问题。

下面是我html" target="_blank">应用程序中嵌入的Dockerfile。

FROM adoptopenjdk:11-jre-hotspot

ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app-0.0.1-SNAPSHOT.jar

ENTRYPOINT ["java","-jar","/app-0.0.1-SNAPSHOT.jar"]

运行mvn clean install后,我会得到一个app-0.0.1-SNAPSHOT。jar,然后将其定义为Docker文件

接下来,我运行了这个命令docker build-t应用程序。我看到这个容器安装在我的docker桌面上。

在运行这个命令后,我在列表中也看到了这个容器。

我运行了这个命令docker run-p 9999:8080 app来在docker中运行它。

运行此命令后,容器工作正常(docker ps

接下来,我测试任何URL,比如http://localhost:9999/getCategoryById/1而不是http://localhost:8080/getCategoryById/1在邮递员中,但我收到了消息(无法发送请求)。当我在浏览器中测试这个URL时,我得到消息ERR_EMPTY_RESPONSE。

我学会了容器IP地址通过docker检查container_id然后我用http://172.17.0.2:9999/getCategoryById/1但没有改变。

我还检查了IP地址是否管理包(ping 172.17.0.2),但收到了请求超时的消息。

这是我的项目链接:链接

如何解决我的问题?


共有1个答案

廉博赡
2023-03-14

在应用程序中,server。应用程序中的端口属性。属性文件,用于配置Spring Boot嵌入式Tomcat服务器的端口是8082

要在容器端口8080上访问应用程序,需要覆盖服务器。端口属性。重写属性的方法之一是使用如下环境变量,

docker run -e SERVER_PORT=8080 -p 9999:8080 app

其中SERVER_PORT对应于-p中指定的容器端口

另一个选项是直接在应用程序中更新属性。属性文件如下。更新后,您可以使用与运行docker imagedocker run-p 9999:8080应用程序相同的命令

server.port= 8080

 类似资料:
  • 我开始与WordPress的Docker合作。我按照docker文档进行了安装和运行: https://docs.docker.com/compose/wordpress/ 我为插件添加了卷 当第一次运行命令并转到http://localhost:8000/我看到了WordPress的安装。当我重新启动电脑并再次启动服务时:或我收到错误消息:ERR_EMPTY_RESPONSE。 我试过: 移除容

  • 问题内容: 我正在尝试运行此项目-https://github.com/JumboInteractiveLimited/codetest 我已经下载了Docker工具箱,并执行了GitHub页面上提到的build和run命令,但是当我尝试访问http:localhost:8080时,该页面仍然不可用。 当我尝试再次执行运行时,Docker说 编辑 :澄清一下,我只有在第二次运行时才收到该错误。当我

  • 我是新来的docker和有一个简单的DW(dropwizard)应用程序连接到elasticsearch,其中已经运行在docker使用docker-compose.yml,其中有以下内容。 弹性搜索的Docker-compose.yml 注意:我将8200和8300公开为主机(本地mac系统)上的ES端口 现在,当我在本地主机上运行连接到8200中ES的DW应用程序时,一切都正常了,但现在我正在

  • 我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题

  • 要获取请求URL,可以在堆栈溢出中找到以下方法。 第一种方法: 第二种方法: 第三种方法: 我不知道在spring boot应用程序中使用哪一个来获取请求URL。 如果我使用第三种方法,那么我是否需要在配置类中创建RequestContextListener的bean,如下所示?