解锁DeepSeek潜能:Docker+Ollama打造本地大模型部署新范式

🐇明明跟你说过:个人主页

🏅个人专栏:《深度探秘:AI界的007》 🏅

🔖行路有良友,便是天堂🔖

目录

一、引言

1、什么是Docker

2、什么是Ollama

二、准备工作

1、操作系统

2、镜像准备

三、安装

1、安装Docker

2、启动Ollama

3、拉取Deepseek大模型

4、启动Deepseek 


一、引言

1、什么是Docker

Docker:就像一个“打包好的App”

想象一下,你写了一个很棒的程序,在自己的电脑上运行得很好。但当你把它发给别人,可能会遇到各种问题:

  • “这个软件需要 Python 3.8,但我只有 Python 3.6!”

  • “我没有你用的那个库,安装失败了!”

  • “你的程序要跑在 Linux,我的电脑是 Windows!”

💡 Docker 的作用:它就像一个“打包好的 App”,把你的软件、依赖、环境、系统配置等 全部封装到一个“容器” 里,别人拿到这个容器,就能直接运行,而不用关心它内部的细节。


🚀 把 Docker 想象成“集装箱”

传统运输 vs. 集装箱运输

以前(传统部署)

  • 货物(程序)需要不同的包装方式(运行环境)

  • 货物可能损坏(环境不兼容)

  • 装卸麻烦(程序迁移难)

有了 Docker(容器部署)

  • 货物装进标准化集装箱(Docker 容器)

  • 不管运到哪里,集装箱里东西不变(程序环境一致)

  • 码头和船只可以直接装卸(轻松部署到不同系统)

Docker 让软件像“集装箱”一样标准化、可移植、易部署! 🚢

2、什么是Ollama

Ollama 是一个本地运行大语言模型(LLM)的工具,它可以让你 在自己的电脑上直接运行 AI 模型,而不需要连接云端服务器。

💡 简单来说:Ollama 让你像运行普通软件一样,轻松在本地使用 ChatGPT、Llama、Mistral、Gemma 等大语言模型。

🚀 Ollama 的核心特点

  1. 本地运行 🏠

    • 你不需要联网,也不用担心隐私问题,所有计算都在你的电脑上完成。

  2. 支持多种开源模型 📚

    • 可以运行 Llama 3、Mistral、Gemma、Code Llama 等不同的大模型。

  3. 易于安装和使用 🔧

    • 只需要几条命令,就能下载并运行 AI 模型。

  4. 轻量化优化

    • 适配 Mac(Apple Silicon)、Linux 和 Windows,支持 GPU 加速,让模型运行更快。

  5. 离线推理 🔒

    • 适合不想依赖 OpenAI API 或其他云端 AI 服务的用户。

二、准备工作

1、操作系统

这里我们使用的操作系统为Centos 7.9,配置为4核8G,大家也可以使用其他的Linux发行版本,或者使用Windows。

2、镜像准备

如果已经安装了Docker,可以提前准备好镜像,ollama/ollama,镜像比较大,拉取会耗一些时间

三、安装

1、安装Docker

1.关闭防火墙

systemctl stop firewalld && systemctl disabled firewalld

2.关闭SELinux

setenforce 0

3.更换yum源

rm -f /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache

4.安装依赖项

yum install -y yum-utils device-mapper-persistent-data lvm2

5. 添加Docker源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 6.安装Docker

yum install docker-ce -y

7.添加Docker镜像加速器

vim /etc/docker/daemon.json
# 添加如下内容
{
 
"registry-mirrors": [
 
"https://docker.m.daocloud.io",
 
"https://noohub.ru",
 
"https://huecker.io",
 
"https://dockerhub.timeweb.cloud",
 
"https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
 
"https://5tqw56kt.mirror.aliyuncs.com",
 
"https://docker.1panel.live",
 
"http://mirrors.ustc.edu.cn/",
 
"http://mirror.azure.cn/",
 
"https://hub.rat.dev/",
 
"https://docker.ckyl.me/",
 
"https://docker.chenby.cn",
 
"https://docker.hpcloud.cloud",
 
"https://docker.m.daocloud.io"
 
]
 
}

8.启动Docker

systemctl start docker

2、启动Ollama

1.启动Ollama容器

docker run -itd -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
  • docker run    运行一个新的 Docker 容器
  • -itd    组合多个选项:
    • -i(保持标准输入)
    • -t(分配终端)
    • -d(后台运行容器)
  • -v ollama:/root/.ollama    挂载数据卷,把 ollama 这个 Docker 数据卷 绑定到容器的 /root/.ollama 目录,确保数据持久化(如下载的模型不会丢失)。
  • -p 11434:11434    端口映射,把 宿主机(本机)的 11434 端口 映射到 容器 内部的 11434 端口,这样宿主机可以通过 http://localhost:11434 访问 Ollama 服务。
  • --name ollama    指定 容器名称 为 ollama,方便管理和启动。
  • ollama/ollama    使用的 Docker 镜像,这里是 官方的 Ollama 镜像。

如果是使用GPU运行,则用下面的命令启动

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

2.查看Ollama容器

docker ps

  

3、拉取Deepseek大模型

1.进入到容器中 

docker exec -it ollama /bin/bash

2.拉取模型

ollama pull  deepseek-r1:7b

  

在官网中,有许多Deepseek的模型,这里主要是演示,所以拉取了一个较小的模型

官网地址:deepseek-r1

  

3.查看模型

ollama list

  

4、启动Deepseek 

ollama run deepseek-r1:7b

  

 💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!  

### 部署DeepSeek本地模型的教程 #### 使用DockerOllama和Open-WebUI在Linux上的部署流程 为了成功部署DeepSeek本地模型,需先安装并配置好Docker环境。对于Linux系统而言,推荐按照官方文档中的指导完成安装过程[^1]。 一旦Docker准备就绪,下一步就是拉取所需的镜像文件。这里涉及到两个主要组件:一个是用于处理数据流的应用程序`docker.io/sladesoftware/log-application:latest`[^2];另一个则是特定版本的日志收集工具`docker.io/elastic/filebeat:7.8.0`。不过针对DeepSeek项目本身,则需要找到对应的预构建镜像或是自行创建适合该模型运行的基础镜像。 关于Ollama的支持,在此假设其作为服务端的一部分被集成到了最终使用的容器化应用里。而Open-WebUI作为一个图形界面前端框架,可以方便开发者调试以及用户交互操作。通常情况下,这类web应用程序也会被打包成独立的Docker镜像来简化分发与部署工作。 下面是一个简单的Python脚本例子展示如何通过命令行调用API接口启动相关服务: ```python import subprocess def start_services(): try: # 启动日志收集器FileBeat filebeat_command = "docker run -d docker.io/elastic/filebeat:7.8.0" process_filebeat = subprocess.Popen(filebeat_command.split(), stdout=subprocess.PIPE) # 启动Log Application log_app_command = "docker run -d docker.io/sladesoftware/log-application:latest" process_logapp = subprocess.Popen(log_app_command.split(), stdout=subprocess.PIPE) output, error = process_filebeat.communicate() if error is None: print("Services started successfully.") else: print(f"Error occurred while starting services: {error}") except Exception as e: print(e) if __name__ == "__main__": start_services() ``` 值得注意的是,实际环境中可能还需要考虑网络设置、存储卷挂载等问题以确保各个微服务之间能够正常通信协作。此外,由于具体实现细节会依赖于所选的技术栈及业务需求,因此建议参考更多针对性强的学习资源如《Docker入门到实践》一书获取深入理解。 最后提醒一点,当涉及敏感信息传输时务必遵循安全最佳实践原则保护隐私不受侵犯。
评论 80
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明明跟你说过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值