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

Docker-Compose运行Web服务出现ECONNREFUSED连接错误求助

排查步骤与解决方案

1. 端口映射未生效(首要原因)

你使用的docker-compose run app命令默认不会加载compose文件中的ports配置,该命令用于运行一次性任务,并非启动长期服务的正确方式。

  • 正确启动命令:docker-compose up -d app
  • 若必须使用run,需手动指定端口映射:docker-compose run --publish 5001:5001 app

2. Compose文件存在语法错误

你的docker-compose.yml中ports行缺少冒号,这会导致配置解析失败:

# 修正后的完整配置
version: "3.6"
services:
  app:
    build:
      context: .
      target: app
    ports:  # 此处必须添加冒号
      - 5001:5001

3. Web服务绑定地址限制

如果你的Web服务在容器内仅绑定127.0.0.1,宿主机无法访问该端口,必须改为绑定0.0.0.0:

  • 检查entrypoint.sh中的启动命令,确保监听地址为0.0.0.0:5001,而非127.0.0.1:5001

4. 容器内服务未正常启动

验证容器内服务是否在监听5001端口:

  1. 启动容器:docker-compose up -d app
  2. 进入容器:docker exec -it $(docker-compose ps -q app) sh
  3. 安装工具并检查端口:
    apt update && apt install -y net-tools
    netstat -tulpn | grep 5001
    
    若无输出,说明服务未启动或监听端口错误,需检查entrypoint.sh是否正确启动了Web服务。

5. 宿主机端口冲突

检查宿主机5001端口是否被其他进程占用:

  • Windows:netstat -ano | findstr :5001
  • macOS/Linux:lsof -i :5001
    若被占用,可杀掉对应进程,或修改compose文件端口映射为5002:5001(宿主机端口改为5002)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 06:01:03