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子网配置:- 打开Docker Desktop设置 → Resources → Network
- 将
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)的双向流量允许规则
- 添加EdgeDB CLI程序(路径通常为
- 检查Windows Defender防火墙:
- 打开「Windows Defender防火墙 → 高级设置」
- 确认针对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
相关产品推荐
相关产品推荐

