WSL+Docker环境下Open-WebUI无法加载Phi3模型求助
解决Open-webui无法连接WSL中Ollama的问题
问题根源
日志中的Connection refused错误表明Docker容器内的Open-webui无法访问WSL环境中运行的Ollama服务,核心原因是:
- Ollama默认仅绑定
127.0.0.1(WSL本地回环地址),Docker容器无法直接访问WSL的localhost端口; host.docker.internal在WSL与Docker的联动场景下可能无法正确解析到WSL的IP。
解决方案
1. 修改Ollama监听地址,允许外部访问
在WSL终端中执行以下操作:
- 创建或编辑Ollama配置文件:
nano ~/.ollama/config.json - 添加以下配置内容(让Ollama监听所有网络接口):
{"host": "0.0.0.0:11434"} - 重启Ollama服务:
# 如果是后台服务运行 sudo systemctl restart ollama # 如果是直接用ollama serve启动 pkill ollama && ollama serve &
2. 在Open-webui中配置正确的Ollama API地址
- 先获取WSL的局域网IP:
输出类似hostname -I192.168.1.100,记录这个IP。 - 打开Open-webui的设置页面,找到Ollama API Base URL选项,将默认的
http://host.docker.internal:11434替换为:http://[你的WSL_IP]:11434 - 保存设置后,刷新模型列表,phi3应该会显示出来。
3. 验证连接(可选)
在Windows终端中执行curl命令,确认WSL的Ollama服务可访问:
curl http://[你的WSL_IP]:11434/api/tags
如果返回包含phi3模型的JSON数据,说明服务已正常对外提供访问。
4. 防火墙排查(如果以上步骤无效)
- Windows防火墙:允许WSL的Ollama服务通过防火墙,或临时关闭防火墙测试(测试后记得开启)。
- WSL内部防火墙:如果WSL启用了ufw,执行以下命令开放端口:
sudo ufw allow 11434
内容的提问来源于stack exchange,提问作者Arman Mustamandyar
相关产品推荐
相关产品推荐

