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
---