云服务器用Linux+Docker+Ollama+OpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。超详细教程,手把手。

在当今数字化时代,大型语言模型(LLMs)的应用越来越广泛。本文将详细介绍如何在云服务器上使用 Docker、Ollama 和 OpenWebui 部署 DeepSeek-R1 大型语言模型,实现其本地化部署,让你能够更便捷地使用这一强大的语言模型。

视频教程:https://www.bilibili.com/video/BV1GpNee9EPJ/

站长交流群:767557452

Ollama简介

Ollama是一款开源的大型语言模型(LLMs)本地化运行工具,支持通过命令行交互快速部署AI模型。其核心优势包括:

  • 轻量化部署:无需复杂环境配置,单条命令即可启动模型服务
  • 多模型支持:内置HuggingFace模型库,支持Llama 2、Mistral、DeepSeek等主流模型
  • 跨平台运行:提供Linux/macOS/Windows全平台支持
  • Docker集成:支持容器化部署,保障环境隔离与一致性
  • REST API:提供标准化接口,方便与各类前端UI集成

Ollama官网:https://url.zeruns.com/Ollama

DeepSeek简介

DeepSeek-R1是深度求索(DeepSeek)公司研发的新一代开源大语言模型,具备以下特性:

  • 复杂推理能力:在数学推导、代码生成等场景表现优异
  • 长上下文支持:最高支持128k tokens的上下文窗口
  • 多轮对话优化:采用RLHF技术提升对话连贯性
  • 企业级适配:提供量化版本(4-bit/8-bit)满足不同硬件需求
  • 灵活部署:支持本地私有化部署与API云端调用

DeepSeek官网:https://url.zeruns.com/DeepSeek

准备服务器

接着需要一台服务器来搭建(也可以用自己电脑,要Linux系统),我这里推荐皓量云擎的轻量应用服务器,8核16G 才60元/月:

皓量云擎优惠注册地址https://www.haoliangyun.com/?aff=zeruns&source=blog

邀请码:zeruns(走链接或邀请码注册送5折和8折优惠券)

其他性价比高的服务器推荐: https://blog.zeruns.com/archives/383.html

注册完账号后进到皓量云擎控制台,点击 轻量应用服务器立即购买,套餐建议选8核16G(选4核8G也可以,但最多只能部署7B的模型),系统选Debian12,然后点击下一步

确认信息然后提交订单

点击管理进入到服务器控制台

点击 安全组→添加规则→入口 设置开放全部端口(也可以只开放用到的端口)

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

SSH客户端软件下载地址:https://www.123pan.com/ps/2Y9Djv-UAtvH.html

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址(控制台获取),还有SSH端口(默认是22),然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码(密码在控制台获取)并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

APT换源

系统默认apt软件下载源是国外服务器,所以需要换国内镜像源,使用chsrc来换源。

在SSH终端,输入下面的指令(#开头的是注释,不用输入)。

# 下载安装chsrc
curl https://chsrc.run/posix | bash

# 自动测速,寻找最快者,换源
chsrc set debian

设置SWAP

SWAP(交换空间)是磁盘上的一块区域,它在物理内存(RAM)不足时,作为虚拟内存来使用。当系统的物理内存被耗尽时,操作系统会将一些暂时不用的内存数据交换到 SWAP 空间中,从而为当前正在运行的程序腾出物理内存。这有助于避免因物理内存不足而导致系统崩溃或程序无法正常运行的问题。

# 使用一键脚本设置swap,按照提示设置4096Mb的swap
wget --no-check-certificate https://gitee.com/zeruns/Linux-shell/raw/master/setup_swap.sh && chmod +x setup_swap.sh && ./setup_swap.sh

# 检查内存大小看看是否设置成功
free -m

安装Docker

在SSH终端,输入下面的指令。

用apt包管理器来安装:

# 安装docker,如果遇到问是否继续的就输入y来确定
apt update && apt -y install docker.io

# 设置docker开机自启和启动docker
systemctl enable docker && systemctl start docker

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

若没安装成功就试试下面的安装脚本:

# 国内需要执行这步
export DOWNLOAD_URL=https://mirrors.ustc.edu.cn/docker-ce 

# Docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh

# 检查是否安装成功,若安装成功会显示 Docker version x.x.x
docker -v

如果还是不行就尝试下面链接的手动安装教程吧

docker手动安装教程:https://www.runoob.com/docker/ubuntu-docker-install.html

Docker换国内源

# docker换源
echo '{"registry-mirrors": ["https://docker.1ms.run","https://docker.1panel.live","https://docker.zeruns.vip","https://9uy9qgvj.mirror.aliyuncs.com"]}' | sudo tee /etc/docker/daemon.json > /dev/null 

# 使用chsrc给docker换源(如果上面的不行再用这个)
chsrc set dockerhub

# 重启Docker
systemctl daemon-reload && systemctl restart docker.service

安装Ollama

本教程用Docker来安装Ollama,只支持调用CPU,不支持GPU。

可以将下面命令中的 /data/ollama 改成其他目录,这个目录是用于存放模型数据的,不改也行,保证空间足够就行。如果想调用GPU,docker run -d 后面直接加上 --gpus=all (未验证能不能行)

# 创建Ollama容器
docker run -d -v /data/ollama:/root/.ollama -p 11434:11434 --name ollama --restart=always ollama/ollama

如果出现报错 error: exec: "apparmor_parser": executable file not found in $PATH ,就去SSH终端执行 apt -y install apparmor apparmor-utils ,然后再执行一次上面创建Ollama容器的命令即可(如果提示容器已存在就运行 docker start ollama )。

部署DeepSeek-R1模型

本教程以部署 DeepSeek-R1-14B 为例,14B 代表该模型的参数数量为 140 亿(B 是 “Billion” 的缩写,意为十亿),建议16G内存或以上,如果只有8G内存建议部署 1.5B 或 7B 版本的(可以简单理解为每1B需要1G内存)。

还有14B版本需要占用10GB左右的硬盘空间,需保证你服务器剩余硬盘空间足够!

# 下载并运行deepseek-r1:14b模型
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-14B-GGUF:Q6_K
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:14b

# 7b模型(8G内存建议这个)
docker exec -it ollama ollama pull hf.co/lmstudio-community/DeepSeek-R1-Distill-Qwen-7B-GGUF:Q4_K_M
# 如果上面的不行可以尝试这个
docker exec -it ollama ollama pull deepseek-r1:7b

将上面命令中的 pull 改成 run ,这样可以直接运行模型,直接在命令行里对话。

安装OpenWebUI

Open WebUI 是一种可扩展的、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种LLM运行器,包括 Ollama 和与 OpenAI 兼容的 API。

下面代码框命令整个复制到SSH终端运行,不要逐行!

docker run -d \
  -p 8186:8080 \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  --name openwebui \
  --restart=always \
  -v /data/open-webui:/app/backend/data \
  dyrnq/open-webui:main

打开浏览器,访问 http://服务器公网IP:8186,即可开始使用 Open WebUI。用邮箱注册下就可以了

如果没有下载模型需要先下载模型,如果前面在ollama上下载过了,这里直接就选择模型就能用了。可以开始对话了。

还可以开启联网搜索功能

如果想要通过域名访问可以自己搭个nginx来反代。

推荐阅读

English Version of the Article: https://blog.zeruns.top/archives/41.html



最后修改:2025 年 02 月 18 日
如果您觉得我的文章有帮助,请随意赞赏,赞赏有助于激发博主的热情,感谢!