解决Docker中使用 Open WebUI识别不到本地ollama中的模型
1. 识别不到本地ollama中模型的原因:
Docker中的Open WebUI没有连接到本地ollama的端口。
原来我运行的命令是:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
查看日志会发现如下报错:
报错出现的原因:
该命令会连接默认的端口号,但是本地ollama的端口号已经被我改为8000了,这需要我们修改Docker中的Open WebUI连接的端口号。
解决:
用-e命令覆盖原本的OLLAMA_BASE_URL地址和端口,运行命令docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e OLLAMA_BASE_URL=IPv4地址:你修改的ollama端口号 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
这里用局域网的IPv4地址的原因是:
确保 Docker 容器可以访问宿主机的 127.0.0.1:8000
。因为 127.0.0.1
是容器内部的环回地址,它无法直接访问宿主机的