本指导适用于在 TencentOS Server 3 上运行 Ollama & Open WebUI 应用框架,以 Docker 方式启动。
Ollama 环境准备
本指导通过直接拉取 Dockerhub 上 Ollama 的镜像包运行 Ollama 应用框架。
由于直接从 DockerHub Ollama 使用 Docker pull 拉取镜像会由于访问限制问题拉取失败,这里我们通过腾讯云 Docker 镜像源加速镜像下载。
配置腾讯云镜像加速源
1. 打开系统中
/etc/docker/daemon.json 配置文件:vim /etc/docker/daemon.json
2. 按
i 切换至编辑模式,添加以下内容,请注意 json 代码的格式:{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}
添加完成后格式应类似于:
{"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}},"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]}
3. 随后按
ESC即可退出编辑模式,再输入!wq即可保存并退出 vim 环境。4. 此时,Docker daemon 将被关闭,需要重启 Docker。
sudo systemctl restart docker
注意:
如果此时出现以下错误:
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
说明添加的
registry-mirrors 没有按照 json 文件的格式添加,请重新检查格式是否正确,添加正确后请再次重启 Docker。5. 查看 Docker 状态:
sudo docker info
此时 Clinet 和 Server 都正确运行,且出现 Registry Mirrors 腾讯云镜像源内容,则说明配置成功。

从 Dockerhub 拉取 Ollama 镜像
1. 先创建服务器本地挂在模型权重的地址:
mkdir ollamacd ollama
2. 根据 DockerHub上Ollama 的指引,拉取使用 Nvidia GPU 的 Ollama 镜像:
docker run -d --gpus=all -v $PWD:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
3. 由于使用了腾讯云镜像源,这里拉取镜像的速度会很快,镜像拉取成功之后,进入容器内部:
docker exec -it ollama bash
4. 在容器内部输入
ollama 相关命令,可以查看 ollama 的使用说明:ollama#输出:--------------------------------------------------------------------Usage:ollama [flags]ollama [command]Available Commands:serve Start ollamacreate Create a model from a Modelfileshow Show information for a modelrun Run a modelpull Pull a model from a registrypush Push a model to a registrylist List modelsps List running modelscp Copy a modelrm Remove a modelhelp Help about any commandFlags:-h, --help help for ollama-v, --version Show version informationUse "ollama [command] --help" for more information about a command.--------------------------------------------------------------------#查看ollama版本ollama -v#输出(参考):ollama version is 0.3.0
运行模型
Ollama 模型运行
1. 在容器内部输入命令运行模型,这里我们运行 llama3.1-8b 模型,更多的模型可以参见 Ollama 模型库。
ollama run llama3.1
2. 下载模型完成后,屏幕将显示如下:
pulling manifestpulling 87048bcd5521... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 4.7 GBpulling 8cf247399e57... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.7 KBpulling f1cd752815fc... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 12 KBpulling 56bb8bd477a5... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 96 Bpulling e711233e7343... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 485 Bverifying sha256 digestwriting manifestremoving any unused layerssuccess
此时就可以在命令行与模型对话:
>>> 你好您好!我很高兴与您交谈。有何问题或需要讨论的内容吗?
3. 可以看到模型已成功运行并给出了回复。同时,在 root/.ollama/history 目录下可以找到之前输入的
prompt 指令。Open WebUI
Open WebUI 是 Ollama 的可视化网页界面,通过 Open WebUI 可以更方便的与运行模型,与模型对话等。
1. 首先在服务器本地创建 Open WebUI 的挂载文件夹。
mkdir open-webuicd open-webui
2. 接下来,拉取 Open WebUI 的镜像:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v $PWD:/app/backend/data -e HF_ENDPOINT="https://hf-mirror.com" --name open-webui --restart always ghcr.io/open-webui/open-webui:main
3. 镜像拉取成功后,Open WebUI 容器即在后台运行,输入以下命令可以查看运行动态日志:
docker logs -f open-webui
注意:
下载镜像的地址为
ghcr.io/open-webui/open-webui:main,由于ghcr.io国内可替代的镜像源几乎没有,请耐心等待下载。如出现docker: unexpected EOF.等错误则是由于下载太慢导致,反复尝试下载即可。如实在下载失败次数太多,可以将ghcr.io改为ghcr.chenby.cn或ghcr.nju.edu.cn,可以加快下载速度(但不保证将来此镜像源还可以使用,仅供参考)。4. 通过查看运行日志,如果看到如下内容,则说明 Open WebUI 后台运行成功:
...INFO: Started server process [1]INFO: Waiting for application startup./app___ __ __ _ _ _ ___/ _ \\ _ __ ___ _ __ \\ \\ / /__| |__ | | | |_ _|| | | | '_ \\ / _ \\ '_ \\ \\ \\ /\\ / / _ \\ '_ \\| | | || || |_| | |_) | __/ | | | \\ V V / __/ |_) | |_| || |\\___/| .__/ \\___|_| |_| \\_/\\_/ \\___|_.__/ \\___/|___||_|v0.3.10 - building the best open-source AI user interface.INFO [alembic.runtime.migration] Context impl SQLiteImpl.INFO [alembic.runtime.migration] Will assume non-transactional DDL.INFO [alembic.runtime.migration] Running upgrade -> 7e5b5dc7342b, initINFO: Application startup complete.INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)...
5. 此时在本地浏览器(非服务器端)里输入
http://(服务器公网ip):3000/,即可看到 Open Webui 服务的内容。
说明:
当使用公网 IP 访问服务器服务时,请确保将服务器的3000端口添加到安全组中以允许放行,从而使得通过公网可以访问该端口的服务。
如果不想通过公网访问,想在本地浏览器里输入
http://localhost:3000/ 直接访问 webui 界面,请通过 VSCode 连接上服务器之后,在终端的 PORTS 新添加3000端口服务,再打开浏览器即可看到 webui 服务(因为 VSCode 也有端口转发的功能)。
6. 如图所示,首次进入时需要创建账号。单击注册以创建账号,创建成功后即可进入主界面。

7. 单击选择一个模型,您将看到之前下载的 Ollama LLaMA 3.1-8b 模型。选择该模型以开始对话:

有正常返回,则 Ollama Open WebUI 运行成功。
注意:
如果 Open WebUI 无法使用 Ollama 的模型,则说明 Open WebUI 镜像没有检测到 Ollama 的服务端口,在运行 Open WebUI 的容器时加上
-e OLLAMA_BASE_URL=http://localhost:11434即可。注意事项
说明:
由于 OpenCloudOS 是 TencentOS Server 的开源版本,理论上上述文档当中的所有操作同样适用于 OpenCloudOS。
参考文档
腾讯云镜像源