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 有以下优势:
- 环境一致性
Docker 容器将 Ollama 及其依赖打包成一个独立单元,确保在不同机器上运行的环境完全一致,避免依赖冲突。 - 简化部署
Docker 提供一键部署能力,用户无需手动安装复杂依赖,只需运行一个命令即可启动 Ollama 服务。 - 资源高效
Docker 容器轻量且启动速度快,支持资源限制(如 CPU、内存),更好地管理大模型运行时的资源消耗。 - 跨平台支持
Docker 镜像可在任何支持 Docker 的平台上运行,无论是 Linux、Windows 还是 macOS。 - 易于扩展
使用 Docker Compose 可以轻松管理多个容器,并通过配置文件快速扩展服务规模。 - 团队协作
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 启动
docker run -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name deepseek_core ollama/ollama
镜像文件会保存在本地/opt/ai/ollama
文件中。
- 使用docker compose 启动
编写文档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 探索之旅提供帮助!