一、准备工作

  • 安装Docker:
    确保你的系统中已经安装了Docker。如果尚未安装,可以从Docker官方网站下载并安装适合你操作系统的Docker版本。

  • 拉取镜像:
    从Docker Hub或其他镜像仓库中拉取Ollama、DeepSeek(通常作为Ollama的一个模型存在)和Open Web UI的镜像。 对于不同操作系统,重启命令可能有所不同。

例如,在Ubuntu/Debian系统上,可以使用systemctl daemon-reload和systemctl restart ollama命令;在CentOS系统上,则可能需要使用sudo yum update、sudo yum install lsof、stop ollama、lsof -i :11434、kill 和ollama serve等命令组合。

二、部署Ollama

  • 拉取Ollama镜像:
1
docker pull ollama/ollama

或者,如果你需要特定版本的Ollama,可以使用带版本的标签,如ollama/ollama:0.3.0。

  • 运行Ollama容器:
1
docker run -d -v /path/to/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

-d:后台运行容器。
-v:将本地文件夹挂载到容器内,用于存储模型和数据。
-p:映射端口,方便外部访问。
–name:指定容器名称。
启动DeepSeek模型(在Ollama容器中):

1
docker exec -it ollama ollama run deepseek-r1:1.5b

或者,根据你下载的DeepSeek模型版本进行调整。

三、部署Open Web UI

  • 拉取Open Web UI镜像:
1
docker pull ghcr.io/open-webui/open-webui:main

运行Open Web UI容器:

1
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://localhost:11434 -v /path/to/open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

-p:将容器的8080端口映射到宿主机的3000端口。
-e:配置Ollama服务的基础URL地址。
-v:挂载本地目录到容器,用于存储Open Web UI的数据。
–name:指定容器名称。
–restart always:容器异常退出后自动重启。

注意:OLLAMA_BASE_URL应该设置为Ollama服务的实际访问地址。如果你的Ollama服务部署在远程服务器上,那么这里应该填写远程服务器的IP地址或域名。如果部署在本机,可以使用localhost或127.0.0.1。但是,在Docker容器中访问宿主机时,可能需要使用宿主机的实际IP地址或host.docker.internal(在某些Docker版本中支持)。

四、访问和使用

  • 访问Open Web UI:
    打开浏览器,访问http://localhost:3000(或你设置的其他端口)。
    你应该能够看到Open Web UI的界面,并通过它与DeepSeek模型进行交互。

  • 使用Open Web UI:
    在Open Web UI界面中,选择DeepSeek模型。
    输入你想让模型回答的问题或文本。
    点击“生成”或类似的按钮,查看模型的输出结果。

注意:也可以使用ChatBox桌面客户端访问
下载ChatBox(https://chatboxai.app/zh)
在设置中,设置API域名为 http://localhost:11434
也可以查看模型的输出结果

五、注意事项

  • 硬件配置:
    Ollama和DeepSeek对硬件配置有一定的要求。确保你的服务器或计算机有足够的CPU、内存和存储空间来运行这些服务。

  • 网络配置:
    如果你的Ollama服务部署在远程服务器上,确保你的服务器能够访问外部网络(特别是如果你需要从外部下载模型或更新)。
    同时,确保你的Open Web UI能够访问Ollama服务的基础URL地址。

  • 安全性:
    在生产环境中部署时,请注意安全性问题。例如,使用HTTPS来保护你的Web界面和数据传输;限制对Ollama服务的访问权限;定期更新和备份你的数据和模型等。

  • 性能优化:
    根据你的实际需求和硬件配置,调整Ollama和DeepSeek的运行参数以优化性能。例如,调整模型的批量大小、并发请求数等。

  • Docker Compose:
    为了简化部署和管理过程,你可以使用Docker Compose来一次性启动整个应用栈。编写一个docker-compose.yml文件来定义Ollama和Open Web UI的服务和配置,然后使用docker-compose up命令来启动所有服务。
    通过以上步骤,你应该能够成功使用Docker搭建Ollama、DeepSeek和Open Web UI,并通过Open Web UI与DeepSeek模型进行交互。