linux下部署ollama和open-webui配合时,发现webui访问不到ollama,可以从docker日志中看到访问是超时的。

通过netstat查看ollama运行时监听的IP和端口,发现是127.0.0.1:11434

tcp        0      0   127.0.0.1:11434         0.0.0.0:*               LISTEN      4182/ollama

 这种请求情况是不能从docker中被访问到的。docker使用的是172.18.0.1这个IP。

要想被docker访问需要修改ollama监听的IP。

ollama可以通过环境变量OLLAMA_HOST设置监听的IP,但是通过.bashrc设置后重启ollama run命令监听IP并没有被修改。

通过检查发现,ollama服务是systemctl启动的,需要的服务的配置里修改才可以。

vim /etc/systemd/system/ollama.service

在文件中添加

Environment="OLLAMA_HOST=0.0.0.0:11434"

结果如下

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"

[Install]
WantedBy=default.target

然后重启ollama服务

systemctl daemon-reload
systemctl restart ollama.service

再启动模型就恢复正常了,监听的是0.0.0.0这个IP了

ollama run deepseek-r1:8b

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐