通过SSH端口转发连接Ollama时Open-WebUI报网络问题
问题原因及解决方案
核心问题
Open-WebUI运行在Docker容器内,容器的localhost指向容器自身的独立网络栈,而非你的本地宿主机。你在Open-WebUI中填写的http://localhost:11434,实际是让容器尝试访问自己的11434端口,而非宿主机上通过SSH转发的Ollama服务端口,因此连接失败。
解决方法
方法1:使用Docker网关地址连接
Docker默认桥接网络的网关地址通常为172.17.0.1(可在本地宿主机执行ip addr show docker0命令确认具体地址)。在Open-WebUI的Connections设置中,将地址修改为:
http://172.17.0.1:11434
保存后重新验证即可连接到宿主机转发的Ollama服务。
方法2:让Open-WebUI共享宿主机网络
启动Open-WebUI时添加--network=host参数,使容器直接使用宿主机的网络栈,此时容器内的localhost与宿主机的localhost一致。修改启动命令为:
sudo docker run -d --network=host -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
重启容器后,在Open-WebUI中填写http://localhost:11434即可正常连接。
方法3:映射宿主机端口到容器
启动Open-WebUI时额外将宿主机的11434端口映射到容器内:
sudo docker run -d -v open-webui:/app/backend/data -p 11434:11434 --name open-webui ghcr.io/open-webui/open-webui:main
之后在Open-WebUI中填写http://localhost:11434即可访问。
内容的提问来源于stack exchange,提问作者Brian K Haney
相关产品推荐
相关产品推荐

