docker应用如dify访问本地主机部署的ollama,base_url不管配"http://localhost:11434",还是"http://host_ip:11434"都会报错。这是因为
1)docker容器访问http://localhost:11434,其实访问的是docker容器自身的服务;
2)docker容器访问http://host_ip:11434,虽然是主机服务,ollama默认不绑定0.0.0.0:11434,docker容器同样找不到部署在主机的ollama。
这时一般要求ollama先绑定监听0.0.0.0:11434。设置ollama 监听 0.0.0.0
意味着ollama服务将接受从主机上所有网络接口的连接请求,从而允许任何能够访问主机的设备与之通信。
linux系统ollama监听0.0.0.0:11434需要配置OLLAMA_HOST环境变量,然后重启ollama服务。
1 配置ollama
export OLLAMA_HOST=0.0.0.0:11434
运行以上命令只对当前终端会话起作用
对其他会话生效,需要vim ~/.bashrc 打开用户的.bashrc文件
写入"export OLLAMA_HOST=0.0.0.0:11434",
然后source ~/.bashrc生效。
2 重启ollama
运行如下命令关闭ollama
ollama stop
如果失败,直接ps找到ollama进程kill
ps aux | grep ollama
kill掉ollama serve对应的进程
然后重启ollama
nohup ollama serve > ollama.log &
reference
---