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

news/2025/2/3 14:31:04/

一、安装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


http://www.ppmy.cn/news/1568976.html

相关文章

Kanass快速安装配置教程(入门级)

Kanass是一款国产开源免费的项目管理工具,工具简洁易用、开源免费,本文将介绍如何快速安装配置kanass,以快速上手。 1、快速安装 1.1 Linux 安装 点击官网 -> 演示与下载 ->下载,下载Linux安装包,…

JavaFX - 事件处理

在 JavaFX 中,我们可以开发 GUI 应用程序、Web 应用程序和图形应用程序。在此类应用程序中,每当用户与应用程序 (节点) 交互时,都会称其发生了事件。 例如,单击按钮、移动鼠标、通过键盘输入字符、从列表中…

springboot中路径默认配置与重定向/转发所存在的域对象

Spring Boot 是一种简化 Spring 应用开发的框架,它提供了多种默认配置和方便的开发特性。在 Web 开发中,路径配置和请求的重定向/转发是常见操作。本文将详细介绍 Spring Boot 中的路径默认配置,并解释重定向和转发过程中存在的域对象。 一、…

原生 Node 开发 Web 服务器

一、创建基本的 HTTP 服务器 使用 http 模块创建 Web 服务器 const http require("http");// 创建服务器const server http.createServer((req, res) > {// 设置响应头res.writeHead(200, { "Content-Type": "text/plain" });// 发送响应…

论文阅读(十四):贝叶斯网络在全基因组DNA甲基化研究中的应用

1.论文链接:Bayesian Networks in the Study of Genome-wide DNA Methylation 摘要: 本章探讨了贝叶斯网络在基因组规模的脱氧核糖核酸(DNA)甲基化研究中的应用。它首先描述了DNA甲基化的基因组规模注释的不同实验方法。详细介绍…

【华为OD-E卷 - 磁盘容量排序 100分(python、java、c++、js、c)】

【华为OD-E卷 - 磁盘容量排序 100分(python、java、c、js、c)】 题目 磁盘的容量单位常用的有M,G,T这三个等级, 它们之间的换算关系为1T 1024G,1G 1024M, 现在给定n块磁盘的容量&#xff0c…

流处理 CompletableFuture

专栏系列文章地址:https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标: 掌握:流处理 & CompletableFuture的使用 目录 直接例子看同步和异步处理的区别普通流处理进行批量查询批量查询1:并行流操作批量…

Xposed-Hook

配置 Xposed 模块的 AndroidManifest.xml&#xff1a; <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"your.package.name"><applicationandr…