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
1万+





