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

Docker Desktop部署SpringBoot应用遇Startup探针连接拒绝问题求助

问题排查与解决方案

1. 验证镜像本身的可用性

先脱离Kubernetes环境,直接在本地运行容器测试应用是否正常:

docker run -p 8080:8080 rahulwagh17/kubernetes:jhooq-k8s-springboot

然后用curl或浏览器访问http://localhost:8080/hello:

curl http://localhost:8080/hello

如果请求失败,说明镜像本身存在问题,比如应用未正确打包、端点不存在或服务未监听8080端口,需先修复镜像。

2. 查看Pod的应用启动日志

通过Kubectl查看容器内的应用启动日志,定位具体错误:

kubectl logs <你的Pod名称>  # 替换为实际Pod名,例如jhooq-springboot-6dbc755d48-4pqcz

常见问题包括:

  • JVM内存不足(当前128Mi内存限制可能不足以启动SpringBoot应用)
  • 应用启动时的配置错误、依赖缺失
  • 端口占用或服务未绑定到8080端口

3. 调整资源限制

当前Deployment中给容器分配的内存限制仅128Mi,对于多数SpringBoot应用来说过低。修改Deployment的资源配置:

resources:
  requests:
    memory: "256Mi"
    cpu: "512m"
  limits:
    memory: "256Mi"
    cpu: "512m"

更新Deployment:

kubectl apply -f <你的Deployment文件路径>

4. 优化探针配置

针对Startup探针:

如果应用启动较慢,可适当调整参数延长等待时间,也可添加初始延迟让探针晚启动:

startupProbe:
  httpGet:
    path: /hello
    port: 8080
  initialDelaySeconds: 20
  failureThreshold: 60
  periodSeconds: 10

注意:

配置startupProbe后,Kubernetes会在探针成功前暂停livenessProbe和readinessProbe的检测,直到应用完成启动。

5. 确认端点正确性

检查SpringBoot应用的/hello端点是否:

  • 支持GET请求(探针默认使用GET方法)
  • 路径拼写正确(注意大小写,SpringBoot默认路径大小写敏感)
  • 未被权限拦截或需要额外请求头

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:54:23