Docker 一文学会快速搭建ollama环境及运行deepseek-r1

devtools/2025/2/11 15:15:43/

Docker 一文学会快速搭建ollama环境及运行deepseek-r1

文章目录

  • 前言
  • 正文
    • 配置ollama环境
    • 配置deepseek
  • 总结

前言

近年来,人工智能技术飞速发展,大模型作为其中的重要分支,正在深刻改变各行各业的工作方式和效率。Deepseek 作为国内领先的大模型研发团队,推出了高性能的 Deepseek-R1 模型,其在自然语言处理、文本生成等任务中表现出色,受到了广泛关注。然而,对于许多开发者来说,配置和部署大模型环境仍然存在一定的门槛,尤其是在环境依赖、资源管理等方面容易遇到问题。

为了降低使用门槛,本文将介绍如何利用 Docker 技术,快速配置和部署 Deepseek-R1 的完整运行环境。Docker 作为一种轻量级的容器化技术,能够将应用及其依赖打包成标准化的镜像,实现跨平台、一键部署的能力。通过本文的指导,您将能够轻松搭建一套基于 Docker 的 Deepseek-R1 运行环境,无需担心复杂的依赖问题,快速体验大模型的强大能力。无论是开发者还是研究人员,都可以通过本文的方法,高效地使用 Deepseek-R1,探索更多可能性。

使用本文的前置条件是——如何建立并使用docker_install the buildx component to build images with -CSDN博客

如果想要加速下载,可以参考

——docker使用http服务及国内镜像加速_docker http-CSDN博客

——Docker换源加速(更换镜像源)详细教程(2025.2最新可用镜像,全网最详细)_最新docker镜像源-CSDN博客

如果想调用Nvidia GPU,可以参考——docker compose建立容器使用gpu本地驱动_docker-compose gpu-CSDN博客

正文

配置ollama环境

Ollama 是一个开源的大模型服务框架,旨在简化大模型的部署和使用。它支持多种大模型格式,并提供统一的 API 接口,方便开发者快速集成和调用大模型的能力。Ollama 的核心优势在于轻量化和易用性,能够帮助用户快速搭建大模型服务,无需关注底层复杂的依赖和配置。

使用 Docker 配置 Ollama 有以下优势:

  1. 环境一致性
    Docker 容器将 Ollama 及其依赖打包成一个独立单元,确保在不同机器上运行的环境完全一致,避免依赖冲突。
  2. 简化部署
    Docker 提供一键部署能力,用户无需手动安装复杂依赖,只需运行一个命令即可启动 Ollama 服务。
  3. 资源高效
    Docker 容器轻量且启动速度快,支持资源限制(如 CPU、内存),更好地管理大模型运行时的资源消耗。
  4. 跨平台支持
    Docker 镜像可在任何支持 Docker 的平台上运行,无论是 Linux、Windows 还是 macOS。
  5. 易于扩展
    使用 Docker Compose 可以轻松管理多个容器,并通过配置文件快速扩展服务规模。
  6. 团队协作
    Docker 镜像可以共享给团队成员,确保所有人都在相同的环境中开发和测试。

拉取镜像

# 拉取最新镜像
$ docker pull ollama/ollama# --- OUT PUT ---
Using default tag: latest
latest: Pulling from ollama/ollama
Digest: sha256:7e672211886f8bd4448a98ed577e26c816b9e8b052112860564afaa2c105800e
Status: Image is up to date for ollama/ollama:latest
docker.io/ollama/ollama:latest

启动容器

启动容器有如下几种方式,可以根据个人情况选择。

docker run -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name deepseek_core ollama/ollama

镜像文件会保存在本地/opt/ai/ollama文件中。

编写文档docker-compose.yml

version: '2.3'
networks: {}
services:core:command: servedepends_on: {}container_name: deepseek_coreenvironment:DISPLAY: ${DISPLAY}TERM: xterm-256colorhostname: DeepSeekimage: ollama/ollama:latestlogging:driver: json-fileoptions:max-file: '5'max-size: 10mnetwork_mode: hostprivileged: trueshm_size: 2gstdin_open: truetty: truevolumes:- /dev:/dev:rw- /etc/udev/rules.d:/etc/udev/rules.d:ro- /media:/media:rw- /usr/share/zoneinfo/Hongkong:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro- /etc/ssh:/etc/ssh:ro- /tmp/.X11-unix:/tmp/.X11-unix:rw- /etc/group:/etc/group:ro- /etc/passwd:/etc/passwd:ro- /etc/shadow:/etc/shadow:ro- /usr/bin/docker:/usr/bin/docker:rw- /run/docker.sock:/var/run/docker.sock:rw- /opt/ai/ollama:/root/.ollama:rwworking_dir: /
volumes: {}

运行docker-compose up -d

  • 使用docker compose 调用GPU启动

编写文档docker-compose.yml

version: '3.2'
networks: {}
services:core:command: servedepends_on: {}container_name: deepseek_coreenvironment:DISPLAY: ${DISPLAY}TERM: xterm-256colorhostname: DeepSeekimage: ollama/ollama:latestlogging:driver: json-fileoptions:max-file: '5'max-size: 10mnetwork_mode: hostprivileged: trueshm_size: 2gstdin_open: truetty: truevolumes:- /dev:/dev:rw- /etc/udev/rules.d:/etc/udev/rules.d:ro- /media:/media:rw- /usr/share/zoneinfo/Hongkong:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro- /etc/ssh:/etc/ssh:ro- /tmp/.X11-unix:/tmp/.X11-unix:rw- /etc/group:/etc/group:ro- /etc/passwd:/etc/passwd:ro- /etc/shadow:/etc/shadow:ro- /usr/bin/docker:/usr/bin/docker:rw- /run/docker.sock:/var/run/docker.sock:rw- /opt/ai/ollama:/root/.ollama:rwworking_dir: /deploy:resources:reservations:devices:- driver: nvidiadevice_ids: ['0']capabilities: [gpu]
volumes: {}

运行docker compose up -d

配置deepseek

# 进入容器
$ docker exec -it deepseek_core bash# 加载deepseek镜像,默认为7b,如果硬件普通,可以选择1.5b
$ root@DeepSeek:/home/dev# ollama run deepseek-r1:1.5b
>>> 你是谁
<think></think>您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。如您有任何任何问题,我会尽我所能为您提供帮助。>>> 你会做什么
<think></think>作为人工智能助手,我会以专业和诚恳的态度为您提供帮助,包括回答问题、提供信息、进行对话等。同时,我也希望我们能 mutual learning,即通过我们的互
动来提升彼此的理解和知识。>>> Send a message (/? for help)

总结

通过本文的指导,我们成功使用 Docker 配置了 Deepseek-R1 的完整运行环境,并结合 Ollama 框架实现了大模型的高效部署。Docker 的容器化技术为我们提供了环境隔离、依赖管理和跨平台支持,极大地简化了 Deepseek-R1 的部署流程。无论是开发者还是研究人员,都可以通过 Docker 快速搭建一套标准化的大模型服务环境,无需担心复杂的依赖问题或系统差异。

使用 Docker Compose 进一步提升了部署的便捷性,通过简单的配置文件即可管理多个容器,轻松扩展和维护服务。这种方法不仅降低了技术门槛,还提高了团队协作的效率,确保所有成员都能在一致的环境中开发和测试。

总之,Docker 与 Ollama 的结合为 Deepseek-R1 的部署和使用提供了一种高效、可靠的解决方案。无论是用于研究、开发还是生产环境,这套配置都能帮助您快速上手,充分发挥大模型的潜力。希望本文能为您的 AI 探索之旅提供帮助!


http://www.ppmy.cn/devtools/157963.html

相关文章

Python Pandas(7):Pandas 数据清洗

数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况&#xff0c;如果要使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。数据清洗与预处理的常见步骤&#xff1a; 缺失值处理&#xff1a;识别并…

游戏引擎学习第93天

回顾并推动进展 我们上一期的进展是&#xff0c;我们第一次开始填充可以任意旋转和缩放的固体形状。接下来我们希望继续推进图形功能&#xff0c;能够支持更多的特性&#xff0c;以便拥有一个真正的渲染器。 目前的目标是开始填充这些形状&#xff0c;并能够支持旋转、缩放&a…

vue学习6

1. 智慧商城 1. 路由设计配置 单个页面&#xff0c;独立展示的&#xff0c;是一级路由 2.二级路由配置 规则&组件配置导航链接配置路由出口 <template><div id"app"><!--二级路由出口--><router-view></router-view><van-…

Transformer

1 认识Transformer 定义:Transformer是基于Seq2Seq架构的模型,可以完成NLP领域研究的典型任务,如机器翻译,文本生成等,同时又可以构建预训练语言模型,用于不同任务的迁移学习。 //本篇主要介绍通过transformer架构实现从一种语言文本到另一种语言文本的翻译工作。使用NL…

vite + axios 代理不起作用 404 无效

vite axios 代理不起作用 先看官方示例 export default defineConfig({server: {proxy: {// 字符串简写写法/foo: http://localhost:4567,// 选项写法/api: {target: http://jsonplaceholder.typicode.com,changeOrigin: true,rewrite: (path) > path.replace(/^\/api/, )…

c++ haru生成pdf输出饼图

#define PI 3.14159265358979323846 // 绘制饼图的函数 void draw_pie_chart(HPDF_Doc pdf, HPDF_Page page, float *data, int data_count, float x, float y, float radius) { float total 0; int i; // 计算数据总和 for (i 0; i < data_count; i) { tot…

小红书爬虫: 获取所需数据

小红书&#xff0c;又名 “小红书 ”或简称 “红”&#xff0c;已迅速成为中国社交和电子商务领域的重要参与者&#xff0c;成为一个不可或缺的平台。对于企业、营销人员和数据分析师来说&#xff0c;从小红书收集数据可以获得宝贵的洞察力&#xff0c;从而推动业务增长。虽然这…

stm32电机驱动模块

电机驱动模块是智能车等电子设备中用于驱动电机运转的重要部件&#xff0c;它能将微控制器输出的控制信号转换为足够的功率和电流来驱动电机。以下为你详细介绍电机驱动模块的相关信息&#xff1a; 常见类型 1. L298N 电机驱动模块 特点 高电压、大电流驱动能力&#xff1a;能…