阿里云 GPU 实例云服务器本地部署 DeepSeek R1
这篇博文记录一下使用阿里云 GPU 实例 ECS 基于 Ollama + Open WebUI 部署 DeepSeek R1 模型的过程。
选用的是阿里云 GPU 计算型 T4 加速型 ECS ,实例规格:ecs.gn6i-c8g1.2xlarge,CPU&内存:8核31G,GPU:NVIDIA T4,GPU显存:16G,操作系统:Ubuntu 24.04。
Ubuntu 安装 ollama
curl -fsSL https://ollama.ai/install.sh | sh
在安装过程中下面这个阶段停留时间比较长
Loading new nvidia-570.86.15 DKMS files...
Building for 6.8.0-51-generic
Building for architecture x86_64
Building initial module for 6.8.0-51-generic
EFI variables are not supported on this system
/sys/firmware/efi/efivars not found, aborting.
安装完成时的控制台输出
>>> NVIDIA GPU ready.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
curl 命令访问 11434 端口
curl 127.0.0.1:11434
得到下面的响应,说明 ollam 已正常运行
Ollama is running
我们这里部署 deepseek-r1 7b 模型,模型文件大小是4.7GB
拉取模型
ollama pull deepseek-r1:7b
但是经过多次尝试,这个 4.7G 的模型就是拉取不下来,详见博问 https://q.cnblogs.com/q/151681
后来几天尝试还是拉取不下来,看来不是临时性的网络问题,只能绕道而行,改为用 docker 拉取包含 deepseek-r1:7b 的 allama 镜像。
幸好 docker hub 上有现成的镜像 mazurkatarzyna/ollama-deepseek-r1-7b
docker pull mazurkatarzyna/ollama-deepseek-r1-7b:latest
然后用 docker compose 进行部署,docker compose 清单文件如下:
services:
ollama:
container_name: ollama
pull_policy: if_not_present
image: mazurkatarzyna/ollama-deepseek-r1-7b:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities:
- gpu
environment:
OLLAMA_ORIGINS: "*"
OLLAMA_HOST: "0.0.0.0"
open-webui:
image: ghcr.io/open-webui/open-webui:ollama
container_name: open-webui
volumes:
- open-webui:/app/backend/data
depends_on:
- ollama
ports:
- 8080:8080
environment:
- 'ENABLE_OPENAI_API=False'
- 'OLLAMA_BASE_URL=http://ollama:11434'
- 'WEBUI_SECRET_KEY='
extra_hosts:
- host.docker.internal:host-gateway
volumes:
open-webui: {}
docker compose 部署时出现下面的错误
Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]
需要通过下面的命令安装 NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
安装之后 docker compose 部署成功,ollama 与 Open WebUI 容器成功启动。
通过 IP 地址访问服务器的 8080 端口就会看到 Open WebUI 的界面,创建账号后登录,就会看到默认选中了 deepseek-r1:7b
,并且可以进行对话了。
部署就这么搞定了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
2015-02-12 Mac OS X上用CoreCLR运行一个真正的.NET控制台程序
2011-02-12 tinyMCEPopup.close轻松让IE 9 RC崩溃
2006-02-12 关于回复某个评论的功能小改进
2005-02-12 SQL Server 2000中重命名数据库
2004-02-12 请正确填写你的邮件地址