大模型私有化部署保姆级教程:Ollama+Dify从零搭建本地AI平台,离线可用、数据不出内网(附全套命令)

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

本章概述

在大模型应用开发的实践中,很多场景对数据安全性离线可用性有严格要求——例如政务、金融、医疗等行业,数据不允许上传到外部云端服务。此时,将大模型"私有化部署"到本地服务器或企业内网,成为工程落地的核心能力之一。

本实验将带领同学们从零开始,完整走通一套本地大模型私有化部署的标准流程:

  • Ollama:负责大模型的本地运行与管理,相当于本地版的"模型服务中间件",支持一行命令运行 Qwen、Llama 等主流模型;
  • Dify:一个开源的 LLM 应用开发平台(Low-Code),提供可视化界面,让你无需大量代码就能搭建问答助手、RAG 知识库、工作流等 AI 应用。

两者结合,即可实现:模型完全在本地运行 + 应用可视化管理 的完整闭环。


本章目标

完成本实验后,同学们将能够:

  1. 在 Linux 服务器上完成 Docker 的标准安装与配置;
  2. 掌握 Ollama 的离线安装与 systemd 服务化部署方式;
  3. 使用 Ollama 管理并运行本地 GGUF 格式大模型(含对话模型和 Embedding 模型);
  4. 使用 Docker Compose 完整部署 Dify 平台;
  5. 在 Dify 中接入 Ollama 本地模型及 DeepSeek 在线模型;
  6. 在 Dify 中创建并测试基础 AI 聊天助手应用。

本章内容

一、准备工作

在正式安装任何服务之前,我们先规划好服务器上的目录结构,养成良好的工程习惯——所有数据、应用、模型都放在 /data 目录下统一管理,便于后期迁移、备份和扩容。

创建所需目录:

mkdir -p /data/docker
mkdir -p /data/models
mkdir -p /etc/docker

命令说明:

  • mkdir -p:递归创建目录,即使父目录不存在也会一并创建,不报错;
  • /data/docker:Docker 的数据根目录,用于存放 Docker 镜像、容器数据等,避免占用系统盘空间;
  • /data/models:用于存放所有下载好的大模型文件;
  • /etc/docker:Docker 的配置文件目录。

配置 Docker 数据目录(提前写入配置):

cat > /etc/docker/daemon.json <<EOF
{
  "data-root": "/data/docker"
}
EOF

命令说明:
这里使用 Here Document(<<EOF...EOF)语法,将 JSON 内容一次性写入 /etc/docker/daemon.jsondata-root 字段告诉 Docker 将所有镜像和容器数据存放到 /data/docker,而不是默认的 /var/lib/docker(系统盘)。这样可以避免系统盘因存放大量模型镜像而被撑满。

创建应用目录:

mkdir -p /data/apps/dify
mkdir -p /data/apps/xinference

命令说明:
为 Dify 和 Xinference(另一款模型推理框架,后续课程会用到)提前创建好各自的应用目录,规范应用存放位置。


二、安装 Docker

Docker 是本实验的基础环境,Dify 的所有服务组件(API、Web、数据库、缓存等)都通过 Docker Compose 运行。

第 1 步:更新软件包索引

sudo apt-get update

命令说明:
从软件源拉取最新的软件包列表,确保接下来安装的依赖是最新版本。这一步不会实际安装任何软件,只是刷新索引。

第 2 步:安装必要的依赖

sudo apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

命令说明:

  • ca-certificates:根证书包,用于验证 HTTPS 连接的合法性;
  • curl:命令行 HTTP 工具,用于下载文件和密钥;
  • gnupg:GPG 加密工具,用于验证 Docker 软件包的数字签名(防止包被篡改);
  • lsb-release:用于获取当前 Linux 发行版的代号(如 jammyfocal),在配置软件源时需要用到。

第 3 步:添加 Docker 官方 GPG 密钥

sudo mkdir -p /etc/apt/keyrings

说明: 创建存放 GPG 密钥的目录。

⚠️ 注意: 接下来这一步如果被墙(即报错不能正常执行),可忽略,继续执行后面的命令,改用国内镜像源下载 GPG 密钥。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

命令说明:
从 Docker 官方下载 GPG 公钥,并转换为 apt 可识别的格式(.gpg),保存到 /etc/apt/keyrings/docker.gpg。apt 在安装 Docker 软件包时,会用这个公钥验证下载内容的完整性和来源真实性。


第 4 步:使用中科大镜像源(推荐,国内更稳定)

如果上一步访问 Docker 官方受阻,则通过以下命令改用中科大(USTC)镜像源:

删除旧源(避免冲突):

sudo rm -f /etc/apt/sources.list.d/docker.list

确保密钥目录存在:

sudo mkdir -p /etc/apt/keyrings

删除旧的 GPG 密钥文件:

sudo rm -f /etc/apt/keyrings/docker.gpg

从中科大镜像源下载 GPG 密钥:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

写入中科大软件源地址:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

命令说明:

  • $(dpkg --print-architecture):自动检测当前系统架构(如 amd64arm64),写入对应架构的软件源;
  • $(lsb_release -cs):自动获取当前 Ubuntu 版本代号(如 jammy),确保下载与系统版本匹配的 Docker;
  • sudo tee:将内容写入文件(同时显示到终端);> /dev/null 屏蔽额外输出。

第 5 步:更新软件源(重要)

sudo apt-get update

命令说明: 刷新 apt 索引,使刚刚添加的 Docker 软件源生效。

第 6 步:安装 Docker Engine

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

命令说明:

  • doc

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

跟风舞烟学编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值