docker desktop使用ollama在GPU上运行deepseek r1大模型

一、安装docker

  1. 安装WSL
  2. 打开Hyper V

可以参考:用 Docker 快速安装软件_哔哩哔哩_bilibili

二、拉取ollama镜像

在powershell中运行如下命令,即可拉取最新版本的ollama镜像:

复制代码
docker pull ollama/ollama

如果需要指定版本,可以用如下命令:

复制代码
# CPU 或 Nvidia GPU下载ollama 0.3.0
docker pull ollama/ollama:0.3.0
# AMD GPU下载ollama 0.3.0
docker pull ollama/ollama:0.3.0-rocm

三:启动ollama容器:

方式一:docker desktop界面启动

  • 下载完成后,可以在 Images中找到 Ollama 镜像,点击 run 标识即可运行,注意运行前在弹出的可选设置里面,选定一个端口号(如8089)。

方式二:命令行启动

  • CPU 版本:

    复制代码
    docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
  • GPU版本:

    复制代码
    docker run -d --gpus=all -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

注:也可以通过docker-compose.yaml配置文件拉取ollama,参考Docker部署全攻略:Ollama安装、本地大模型配置与One-API接入_ollama docker部署-CSDN博客

关于ollama使用GPU还可以参考:在Linux上如何让ollama在GPU上运行模型_ollama使用gpu-CSDN博客

Ollama 现已推出官方 Docker 镜像 · Ollama 博客 - Ollama 框架

四、在ollama容器中拉取deepseek r1模型

我拉取的是14B,大家可以根据自己电脑配置选择不同版本大模型

在ollama容器中执行如下命令,等待下载好deepseek-r1完成即可:

复制代码
ollama run deepseek-r1:14b

参考:deekseek-r1本地部署指南极简版-CSDN博客

如果大家还想使用open web ui可以参考:deepseek-r1落地指南(搭建web-ui | 搭建本地代码编辑器)-CSDN博客

五、(可选)运行deepseek并调用GPU

如果在"三:启动ollama容器:"中启用的是CPU版本的容器,则deepseek无法调用GPU,如果还想调用GPU,应该如下操作:

1.验证docker可以调用GPU命令如下:

复制代码
docker run --gpus all ubuntu nvidia-smi

2.制作镜像保存在本地,命令如下:

复制代码
docker commit 5ae3d25d6f5d odeepseek14b

3.运行镜像,生成容器,命令如下(命令中要包含--gpus=all才能调用GPU):

复制代码
docker run -d --gpus=all --hostname=5ae3d25d6f5d --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=OLLAMA_HOST=0.0.0.0 --env=LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64 --env=NVIDIA_DRIVER_CAPABILITIES=compute,utility --env=NVIDIA_VISIBLE_DEVICES=all --network=bridge -p 8089:11434 --restart=no --label='org.opencontainers.image.ref.name=ubuntu' --label='org.opencontainers.image.version=22.04' --runtime=runc -d odeepseek14b

注意:调用GPU时,如果加上--gpus=all,则容器inspect中会显示如下:

复制代码
		"DeviceRequests": [
			{
				"Driver": "",
				"Count": -1,
				"DeviceIDs": null,
				"Capabilities": [
					[
						"gpu"
					]
				],
				"Options": {}
			}
		],

如果没有加 --gpus=all,会显示:

复制代码
"DeviceRequests": null,

则无法调用GPU

4.验证容器中是否调用GPU成功,命令如下:

复制代码
nvidia-smi
相关推荐
huangyuchi.3 分钟前
【Linux】权限相关指令
linux·运维·服务器·笔记·指令·权限
☆凡尘清心☆5 分钟前
CentOS 7 环境下部署 LAMP
linux·运维·centos
TDengine (老段)9 分钟前
TDengine 运维——巡检工具(安装前检查)
大数据·运维·数据库·物联网·时序数据库·tdengine·涛思数据
FBI HackerHarry浩1 小时前
云计算Linux Rocky day02(安装Linux系统、设备表示方式、Linux基本操作)
linux·运维·服务器·rocky
kongxx2 小时前
Docker Compose使用自定义用户名密码启动Redis
redis·docker·容器
努力学习的小廉6 小时前
深入了解linux系统—— 库的制作和使用
linux·运维·单片机
国际云8 小时前
腾讯云国际站性能调优
运维·服务器·数据库·云计算·腾讯云
眼镜哥(with glasses)9 小时前
0527漏洞原理:XSS笔记
运维·笔记·自动化
奋斗者1号9 小时前
提升WSL中Ubuntu编译速度的完整指南
linux·运维·ubuntu
ZHOU_WUYI9 小时前
在 Ubuntu 上安装 NVM (Node Version Manager) 的步骤
linux·运维·ubuntu