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

Windows 11安装Docker Desktop后EdgeDB无法连接求助

排查Docker Desktop安装后EdgeDB CLI连接失败问题(Windows 11 + WSL环境)

问题背景

  • 在Windows 11上部署WSL,曾通过《Firewall blocking WSL 2》方案解决Norton 360拦截WSL出站SSH流量问题
  • EdgeDB初始安装后可正常使用,已创建示例库并插入数据
  • 安装Docker Desktop并重启系统后,EdgeDB CLI连接所有实例均失败,报错:ClientConnectionFailedError: cannot establish connection for 30s
  • 尝试添加端口10702、10703的防火墙规则,问题未解决,怀疑Docker修改了网络/防火墙配置

排查步骤

一、验证EdgeDB实例状态与端口监听

  • 在WSL终端执行 edgedb instance list,确认目标实例处于running状态
  • 用 ss -tulpn | grep edgedb 检查EdgeDB是否在预期端口(10702/10703)监听,重点确认监听地址是0.0.0.0(允许外部访问)还是仅localhost(仅限WSL内部)
  • 尝试在WSL内部直接执行 edgedb -I <实例名> 连接:若能成功,说明问题出在跨WSL/Windows的网络转发或防火墙;若仍失败,优先排查WSL内的EdgeDB服务状态

二、检查Docker对WSL网络的影响

  • 查看WSL DNS配置变化:执行 cat /etc/resolv.conf,若DNS被修改为Docker内部DNS,临时替换为公共DNS(如8.8.8.8)后重新测试连接
  • 核对WSL虚拟网卡IP:在Windows管理员终端执行 ipconfig,找到vEthernet (WSL)的IP地址,确认EdgeDB实例的绑定IP与该网卡IP匹配
  • 排查子网冲突:执行 ip addr show docker0(WSL内)和 ip addr(WSL内),若Docker默认网桥docker0的IP段与WSL内部IP段重叠,需修改Docker子网配置:
    1. 打开Docker Desktop设置 → Resources → Network
    2. 将Subnet和Gateway改为不与WSL冲突的网段(如192.168.100.0/24),重启Docker后测试

三、重新排查防火墙规则(含Norton 360)

  • 临时关闭Norton 360防火墙,测试EdgeDB CLI连接:若恢复,说明Norton未识别Docker安装后的EdgeDB流量,需:
    • 添加EdgeDB CLI程序(路径通常为C:\Users\<用户名>\.edgedb\bin\edgedb.exe)的双向流量允许规则
    • 添加WSL虚拟网卡IP段(如172.17.0.0/16)的双向流量允许规则
  • 检查Windows Defender防火墙:
    1. 打开「Windows Defender防火墙 → 高级设置」
    2. 确认针对WSL的入站/出站规则是否覆盖EdgeDB端口,若未覆盖,手动添加规则:允许TCP协议、端口10702-10703,应用于vEthernet (WSL)适配器,允许所有远程IP

四、重置WSL网络栈

在Windows管理员终端执行以下命令,重启WSL后重新测试:

wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:03:15