### 问题描述 我使用了官方提供的 Docker 命令来启动 Open Web UI 服务: ```bash 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 ``` 在启动 Open Web UI 之后,我安装了 Ollama 服务。然而,当我尝试在 Open Web UI 中访问 Ollama 服务时,却发现根本找不到它。这让我感到十分困惑,于是开始深入研究问题的根源。

## 问题分析 经过一番仔细的研究,我发现问题出在 Ollama 服务的默认配置上。Ollama 服务默认会将自己绑定到 `127.0.0.1` 这个地址。而 Open Web UI 使用的是 `host-gateway` 来进行对外访问,这就导致了在容器内部无法直接访问到 Ollama 服务。因为 `127.0.0.1` 是本地回环地址,只能在容器内部访问,而 Open Web UI 是通过 `host-gateway` 来与外部通信的。 为了解决这个问题,我们需要将 Ollama 服务的绑定地址修改为 `0.0.0.0`。`0.0.0.0` 表示监听所有可用的网络接口,这样就可以让 Ollama 服务在容器内部和外部都能够被访问到。

## 解决方案 要将 Ollama 服务的绑定地址修改为 `0.0.0.0`,我们可以通过修改 `ollama.service` 文件来实现。以下是具体的操作步骤: ### 1. 编辑 `ollama.service` 文件 使用以下命令编辑 `ollama.service` 文件: ```bash sudo nano /etc/systemd/system/ollama.service ```

### 2. 修改文件内容 将 `ollama.service` 文件的内容修改为以下内容: ```ini [Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/local/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="PATH=/home/wusar/miniconda3/bin:/home/wusar/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" Environment="OLLAMA_HOST=0.0.0.0:11434" [Install] WantedBy=default.target ``` 在上述配置中,我们添加了 `Environment="OLLAMA_HOST=0.0.0.0:11434"` 这一行,这行代码的作用是将 Ollama 服务的监听地址修改为 `0.0.0.0`,端口号为 `11434`。

### 3. 重新加载 systemd 配置并重启 Ollama 服务 修改完 `ollama.service` 文件后,我们需要重新加载 systemd 配置并重启 Ollama 服务,使修改生效。执行以下命令: ```bash sudo systemctl daemon-reload sudo systemctl restart ollama.service ```

## 验证结果 完成上述操作后,我们可以再次在 Open Web UI 中尝试访问 Ollama 服务。此时,应该可以正常访问到 Ollama 服务了。 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐