当前位置: 代码网 > it编程>开发工具>Docker > DeepSeek本机部署详细步骤(基于Ollama和Docker管理)

DeepSeek本机部署详细步骤(基于Ollama和Docker管理)

2025年02月08日 Docker 我要评论
前言在人工智能技术日新月异的时代,大语言模型的应用越来越广泛,deepseek 作为其中的佼佼者,备受开发者和技术爱好者的关注。通过在本机部署 deepseek,能够更灵活地利用其强大功能。而借助 o

前言

在人工智能技术日新月异的时代,大语言模型的应用越来越广泛,deepseek 作为其中的佼佼者,备受开发者和技术爱好者的关注。通过在本机部署 deepseek,能够更灵活地利用其强大功能。而借助 ollama 和 docker 进行 deepseek - r1 的配置,能为我们带来更高效、便捷的部署体验。

一、ollama 与 docker 简介

(一)ollama

(ollama)

ollama 是一个强大的工具,它为模型的管理和运行提供了便利。它可以简化模型的下载、配置和启动过程,让用户能够快速地将不同的模型集成到自己的工作流程中。例如,在处理多个不同类型的大语言模型时,ollama 可以轻松管理这些模型之间的切换和调用,提高开发效率。

(二)docker

docker 则是容器化技术的代表,它能够将应用程序及其依赖项打包成一个独立的容器。在 deepseek 部署中,使用 docker 可以确保 deepseek - r1 在不同环境中具有一致的运行状态。无论在开发环境、测试环境还是生产环境,只要安装了 docker,就可以运行相同的 deepseek - r1 容器,避免了因环境差异导致的兼容性问题。

二、利用 ollama 和 docker 配置 deepseek-r1 的准备工作

(一)硬件需求

同常规的 deepseek 部署类似,需要一台性能不错的计算机。内存建议 16gb 以上,这样在运行容器和模型时,能够保证系统的流畅性。同时,配备 nvidia gpu 会显著提升模型的推理速度,对于处理大规模文本任务非常关键。

(二)软件安装

  • 安装 docker:可以从 docker 官方网站获取适合你操作系统的安装包,按照官方指引进行安装。在安装完成后,确保 docker 服务正常运行,可通过简单的命令行测试来验证(sheel中输入docker)。
  • 安装 ollama:根据你使用的操作系统,选择合适的安装方式。例如,在 linux 系统中,可以通过特定的脚本进行安装。安装完成后,配置好 ollama 的运行环境变量,确保其能够被系统正确识别。

三、配置 deepseek-r1 的详细步骤

可以看出deepseek-r1完全模型在各方面优于openai,在某些方面评估甚至强于openai,参数量适合于本地部署办公使用。

(一)使用 ollama 获取 deepseek-r1 模型

通过 ollama 的命令行工具,输入特定的命令来搜索和下载 deepseek - r1 模型。ollama 会自动从官方或指定的源获取模型文件,并将其存储在本地的模型库中。

(二)利用 docker 创建 deepseek-r1 容器

  • 基于下载好的 deepseek - r1 模型,使用 docker 命令创建一个新的容器。在创建容器时,需要指定容器的名称、挂载的目录(以便与本地文件系统进行交互)以及容器运行所需的环境变量。

查看模型列表

可以访问 ollama 官方的模型仓库library查看支持的模型列表,点击浏览某个模型,可看到详细说明,如模型参数、大小、运行命令等信息。

下载模型命令

使用ollama pull命令进行下载。例如,若要下载图片中的deepseek - r1 7b 模型,在命令行中输入

ollama pull deepseek-r1:7b 

(若不指定具体版本如 7b 等,默认下载最新版本)。首次使用该命令运行模型时,ollama 也会自动从网上下载模型。

注意事项

  •   下载速度可能受网络状况影响,如果网络不稳定,下载模型可能需要较长等待时间。

     2.   部分模型对硬件资源有一定要求,如运行较大的模型(像 llama3 - 70b)可能会较慢,甚至出现硬件资源不足无法正常运行的情况,下载前可了解模型对硬件的需求。(主要是系统内存的要求)

        配置容器的网络设置,确保容器能够与外部进行通信。可以根据实际需求,设置容器的端口映射,使本地应用能够访问到容器内运行的 deepseek - r1 服务。

(三)启动和测试 deepseek-r1 服务

  • (docker搭建请参照另一篇文章)完成容器创建后,使用 docker 命令启动 deepseek - r1 容器。容器启动后,ollama 会自动加载 deepseek - r1 模型,并启动相关的服务进程。
  • 通过编写简单的测试脚本,向运行在容器内的 deepseek - r1 服务发送请求,验证模型是否正常工作。例如,可以发送一段文本,请求模型生成回答,检查返回的结果是否符合预期。

(四)webui的配置

搭建部署open webui有两种方式

open wenui 官网:github - open-webui/open-webui: user-friendly ai interface (supports ollama, openai api, ...)

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v d:devopen-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

此命令启动一个docker容器

  • docker run:这是 docker 用于运行容器的基本命令,它会根据指定的镜像创建并启动一个新的容器实例。
  • -d:表示以守护进程(detached)模式运行容器,即容器会在后台运行,不会占用当前命令行终端的输入输出流,方便执行其他命令。
  • -p 3000:8080:端口映射参数,将容器内部的 8080 端口映射到主机的 3000 端口。这样,通过访问主机的 3000 端口,就可以访问到容器内运行在 8080 端口上的open-webui应用。
  • --add-host=host.docker.internal:host-gateway:此参数用于向容器内的/etc/hosts文件中添加一条主机映射记录,将host.docker.internal映射到host-gateway。这在容器需要与主机进行通信时非常有用,特别是在一些特殊网络环境下,使得容器能够通过host.docker.internal这个域名访问到主机。
  • -v d:devopen-webui:/app/backend/data:这是卷挂载(volume mount)参数,将主机上的d:devopen-webui目录挂载到容器内的/app/backend/data目录。这意味着主机和容器可以共享这个目录下的文件,主机目录中的任何更改都会实时反映到容器内,反之亦然。常用于数据持久化或在容器和主机之间传递数据。
  • --name open-webui:为运行的容器指定一个名称为open-webui,方便后续对容器进行管理和操作,例如使用docker stop open-webui停止容器,或docker start open-webui启动容器。
  • --restart always:表示无论容器因为何种原因停止,docker 都会自动尝试重新启动它,确保容器始终处于运行状态。
  • ghcr.io/open-webui/open-webui:main:这是容器所使用的镜像名称和标签,指定从 github container registry(ghcr.io)上拉取open-webui/open-webui镜像的main版本。如果本地没有该镜像,docker 会自动从指定的镜像仓库下载。

启动ollama容器

   1.使用该命令启动cpu版运行本地ai模型

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

    2.此命令用于启动gpu版本运行ai模型

前提是笔记本已配置nvidia的gpu驱动,可在shell中输入nvidia-smi查看详细情况

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

然后就可以访问docker中给出的open webui的地址启动web界面,选择好模型就可以进行问答对话了,恭喜你拥有了自己的ai小助手!

四、这种配置方式的优势

(一)快速部署

ollama 和 docker 的结合,大大缩短了 deepseek - r1 的部署时间。通过简单的命令行操作,即可完成模型的获取和容器的创建,相比传统的手动配置方式,效率得到了极大提升。

(二)环境隔离

docker 的容器化技术实现了环境的隔离,使得 deepseek - r1 在独立的环境中运行,不会受到本地系统其他软件的干扰。同时,也方便对模型进行版本管理和维护,当需要更新或切换模型版本时,只需要重新创建或更新容器即可。

(三)易于扩展

在后续的应用中,如果需要增加模型的计算资源,或者部署多个 deepseek - r1 实例,可以轻松地通过 docker 的集群管理功能进行扩展。ollama 也能够方便地管理多个模型之间的协同工作,满足不同业务场景的需求。

五、可能遇到的问题及解决方法

(一)网络问题

在下载模型或容器通信过程中,可能会遇到网络不稳定的情况。解决方法是检查网络连接,尝试更换网络环境或使用代理服务器。同时,ollama 和 docker 都提供了相关的网络配置选项,可以根据实际情况进行调整。

(二)资源冲突

当本地系统中已经运行了其他占用端口或资源的服务时,可能会与 deepseek - r1 容器产生冲突。可以通过修改容器的端口映射或调整本地服务的配置,来避免资源冲突。

利用 ollama 和 docker 配置 deepseek - r1 实现 deepseek 本机部署,为我们提供了一种高效、便捷且稳定的部署方式。随着人工智能技术的不断发展,这种基于容器化和模型管理工具的部署方法,将在更多的应用场景中发挥重要作用,推动大语言模型技术在本地开发和应用中的普及。

总结

到此这篇关于deepseek本机部署详细步骤的文章就介绍到这了,更多相关deepseek本机部署(ollama和docker)内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • docker原理详解

    docker原理详解

    docker利用linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(union... [阅读全文]
  • docker和虚拟机的区别 docker和虚拟机有什么区别

    docker和虚拟机的区别 docker和虚拟机有什么区别

    docker 和虚拟机:轻量级容器与重量级虚拟化的较量你可能在琢磨 docker 和虚拟机到底有啥区别,为啥一个火得不行,另一个也依然坚挺? 这篇文章就来扒一... [阅读全文]
  • docker可以实现什么功能

    docker可以实现什么功能

    docker:不止是容器,更是应用交付的革命docker能实现什么功能?这个问题的答案远比你想象的要丰富。它不仅仅是简单的“容器化”,而是彻底改变了软件开发、部... [阅读全文]
  • docker是个环境还是软件

    docker是个环境还是软件

    docker 是一种容器化平台,它将应用程序及其依赖项打包成一个独立且可移植的单元,称为镜像。镜像只读且包含所需的一切,包括操作系统的部分内容,容器是镜像的运行... [阅读全文]
  • docker是干嘛的 docker的作用

    docker是干嘛的 docker的作用

    docker 不仅是一种容器技术,更是简化了应用开发、部署和运行,并提升了应用可移植性和可扩展性的完整生态系统。其核心概念是容器,基于镜像机制和内核隔离技术,实... [阅读全文]
  • 中国禁用docker的原因是什么

    中国禁用docker的原因是什么

    答案:中国并未禁用 docker。理解的误解源于对中国技术政策和国际关系的复杂性理解不足。中国更关注 docker 的安全性,包括供应链安全、数据安全和技术依赖... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com