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

Docker容器内connect调用失败(errno 111)求助

解决思路

1. 修正连接目标地址

0.0.0.0是监听专用地址,用来让服务接收来自任意IP的请求,不能作为发起连接的目标地址。容器内发起连接时,0.0.0.0:50000指向的是容器自身的网络栈,而你的GUI前端运行在主机上,所以必须替换成主机的实际IP:

  • 在主机执行ip addr找到局域网IP(比如192.168.1.100)
  • 将容器内connect函数的目标地址改为你的主机IP:50000

2. 使用Docker内置主机别名(Linux需额外配置)

Linux环境下Docker默认不支持host.docker.internal,需要启动容器时手动添加映射参数:

docker run --add-host=host.docker.internal:host-gateway -p 50000:50000 my_image

之后容器内可以直接用host.docker.internal:50000作为连接目标,这个地址会自动映射到主机网络栈。

3. 检查主机端服务的监听配置

确保主机上的GUI前端服务监听在0.0.0.0:50000,而非127.0.0.1:50000。如果监听地址是127.0.0.1,服务仅对主机本地可见,容器无法访问,必须改成0.0.0.0开放所有IP访问。

4. 验证端口连通性

  • 在容器内执行ping <主机IP>,确认容器和主机网络可达
  • 用telnet <主机IP> 50000或nc -zv <主机IP> 50000测试端口是否能连通,排查防火墙或端口未开放问题
  • 检查主机UFW防火墙:执行sudo ufw status,确保50000端口允许外部访问,或临时关闭防火墙做测试

5. 临时用host网络模式排查(不推荐生产环境)

如果以上方法无效,可以尝试让容器共享主机网络栈(牺牲隔离性):

docker run --network=host my_image

此时容器内直接用127.0.0.1:50000就能连接主机服务,用来快速排查是否是网络隔离导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:05:26