云服务器用Linux+Docker+Ollama+OpenWebUI部署DeepSeek-R1大语言模型(LLMs),DeepSeek本地化部署教程(在自己电脑上部署也可以参考此教程)。超详细教程,手把手。
在当今数字化时代,大型语言模型(LLMs)的应用越来越广泛。本文将详细介绍如何在云服务器上使用 Docker、Ollama 和 OpenWebui 部署 DeepSeek-R1 大型语言模型,实现其本地化部署,让你能够更便捷地使用这一强大的语言模型。
视频教程:https://www.bilibili.com/video/BV1GpNee9EPJ/
- 雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站,AIGC:https://blog.zeruns.com/archives/768.html
- 雨云GPU云服务器搭建"ChatGPT"—GPT4All本地部署:https://blog.zeruns.com/archives/767.html
站长交流群: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
- 皓量云擎 宁波 轻量应用服务器 性能测评:https://blog.vpszj.cn/archives/2390.html
- 莱卡云 宁波电信云服务器 性能测评,IPv4&IPv6双栈:https://blog.zeruns.com/archives/807.html
- 雨云 宁波E5-2650v4独服测评,48核64G 300兆 588元/月:https://blog.vpszj.cn/archives/2364.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来反代。
推荐阅读
- 高性价比和便宜的VPS/云服务器推荐: https://blog.zeruns.com/archives/383.html
- 我的世界开服教程:https://blog.zeruns.com/tag/mc/
- 海口-北京-澳门 旅行记录和照片分享:https://blog.zeruns.com/archives/849.html
- 苹果 Mac Mini M4 迷你主机简单测评和拆解,最强单核性能的小主机:https://blog.zeruns.com/archives/851.html
- 云服务器搭建Typecho个人博客网站,保姆级建站教程:https://blog.zeruns.com/archives/749.html
English Version of the Article: https://blog.zeruns.top/archives/41.html
47 条评论
我还没尝试过。原来可以全程 docker 部署,真是很方便。
docker确实方便,不过用docker部署的ollama好像没法调用GPU,只能用CPU来跑
我打算在云服务器上部署,这样正好呢,没有GPU。
私有化部署相对于我这种懒人来说成本又还比较高,现在凉心云有开箱即用的版本了,不过没仔细关注过价格。
确实个人使用没啥必要自己部署
可以看看我推荐的这个平台:目前来说Deep seek 满血版可以直接用 https://www.lincol29.cn/use-deepseek
啊,都私有化部署了?就我还在用他们的网站吗~~
14b还是不太够用的,671b满血版部署成本又太高,我也是用他们网站,不过就是经常服务器繁忙,现在用一些第三方提供的满血版deepseek,比如 https://xiaoyi.huawei.com/chat/
真不错,有精力后折腾看看。
还有另一个软件叫 LM Studio 更方便一点