You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用在Docker中运行时端口无法外部访问问题

Docker中Spring Boot应用Tomcat启动正常但本地无法访问的解决方法

核心问题:缺少端口映射

你当前启动容器的命令docker run -it javaproj未配置端口映射,容器内部的8090端口并未暴露到宿主主机。本地请求127.0.0.1:8090无法转发到容器内的服务,因此出现连接拒绝。

解决步骤

修改启动命令,添加端口映射参数:

docker run -it -p 8090:8090 javaproj

参数-p 8090:8090表示将宿主主机的8090端口与容器内的8090端口绑定,此时再执行curl http://127.0.0.1:8090即可访问容器内的服务。

额外排查点

如果添加端口映射后仍无法访问,可检查以下内容:

1. Spring Boot绑定地址是否正确

确保应用监听所有网络接口,而非仅容器内部的localhost。在application.properties中添加:

server.address=0.0.0.0

默认情况下Spring Boot会监听0.0.0.0,但部分场景下可能被配置覆盖,此配置确保服务能接收来自容器外部的请求。

2. 验证容器内部访问是否正常

进入容器内部测试服务是否可用:

# 获取容器ID
docker ps
# 进入容器
docker exec -it <容器ID> /bin/bash
# 在容器内执行curl测试
curl http://127.0.0.1:8090

如果容器内部能正常访问,说明问题仍出在端口映射或宿主主机网络配置;如果容器内也无法访问,则需检查应用启动是否存在隐性错误(比如依赖缺失、配置加载失败等)。

3. 宿主主机防火墙配置

检查宿主主机的防火墙是否拦截了8090端口的入站请求,根据系统类型(Linux/Windows/macOS)调整防火墙规则,允许8090端口的流量。

内容的提问来源于stack exchange,提问作者Kastet6398

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:06:23