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

DCV Gateway容器健康检查失效:Connection reset by peer问题求助

Docker Swarm中DCV Gateway健康检查连接重置问题排查

问题场景

我在Docker Swarm集群中部署DCV Gateway容器,配置了健康检查规则:

[health-check]
bind-addr = "0.0.0.0"
port = 8989

但健康检查持续失败,在容器内通过curl或wget调用健康检查API时,均出现连接重置错误:

curl: (56) Recv failure: Connection reset by peer

--2024-02-02 13:36:03--  http://localhost:8989/
Resolving localhost (localhost)... 127.0.0.1, ::1
Connecting to localhost (localhost)|127.0.0.1|:8989... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

排查方向

1. 确认健康检查服务是否实际启动

  • 查看DCV Gateway容器日志,检查是否存在健康检查服务启动失败的报错(比如端口占用、配置加载异常)。
  • 在容器内执行端口监听检查命令,确认8989端口是否被正常监听:
    ss -tulpn | grep 8989
    
    若无输出,说明健康检查服务未启动,需排查配置文件是否被正确加载、DCV Gateway版本是否支持该健康检查配置。

2. 检查容器网络配置

  • 若容器使用host网络模式,确认宿主机8989端口未被其他进程占用;若使用overlay网络,尝试用容器自身IP访问8989端口,排除localhost解析异常问题。
  • 检查Docker Swarm的服务网络策略,确认未限制容器内部的本地访问。

3. 验证健康检查API路径

部分健康检查服务需要特定路径(而非根路径/),尝试访问DCV Gateway文档中指定的健康检查路径,比如:

curl http://localhost:8989/health

4. 排查容器资源限制

若容器CPU、内存配额设置过低,可能导致DCV Gateway无法正常启动健康检查服务。查看服务的资源配置,适当调整后重试。

5. 确认配置文件的正确性

  • 检查配置文件是否放置在DCV Gateway预期的路径(如/etc/dcv/dcv-gateway.conf),或是否通过Docker挂载正确传递给容器。
  • 确认配置文件格式无语法错误,bind-addr和port确实位于[health-check]段下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 02:33:16