Docker 部署 Dify,快速私有化搭建专属知识库问答

文章目录

在 AI 应用开发的浪潮中,Dify 凭借其可视化构建、多模型集成、全流程 LLMOps 等能力,成为了开发者和企业搭建 AI 应用的优选工具。它支持工作流编排、RAG 管道搭建、Agent 开发等七大核心能力,还能通过自托管方式实现数据私有化,无论是开发测试还是小型生产环境,都能灵活适配。今天这篇博客就带大家从环境要求到实际部署,一步步把 Dify 跑起来,零基础也能轻松上手!

一、部署前必看:环境配置要求

工欲善其事,必先利其器,部署 Dify 前需要确认服务器 / 本地机器满足最低配置要求,同时装好必备的容器工具,避免部署过程中踩坑。

基础硬件配置

  • CPU:≥2 核
  • 内存:≥4 GiB

必备软件环境

  • Docker:最新稳定版(核心容器运行环境)
  • Docker Compose:最新稳定版(容器编排工具)
    以上工具是 Docker Compose 部署方式的核心依赖,也是本次教程的主要部署方式,兼顾操作简单性和实用性,适合开发及小型生产环境。

二、Dify核心架构速览

在部署前简单了解 Dify 的架构,能帮助我们理解各组件的作用,后续排查问题也更有方向。Dify 采用经典的面向服务设计,组件分工明确、通信清晰,核心组成包括:

  • 前端:基于 Next.js 开发的可视化操作界面,提供低代码构建能力;
  • 后端 API 服务器:由 Flask 搭建,通过应用工厂模式加载配置,处理前端请求;
  • 异步工作进程:基于 Celery+Redis 实现,处理文档索引、工作流执行等重负载异步任务;
  • 中间件:Nginx 作为反向代理,负责 Web 应用和 API 之间的流量路由,Redis 同时承担缓存、消息代理作用,PostgreSQL 作为主数据库并支持向量运算。

所有组件通过 Docker Compose 编排,一键启动即可实现组件间的自动通信和协同工作,无需手动配置复杂的网络关系。

三、核心部署步骤:Docker Compose 方式

Docker Compose 是 Dify 官方推荐的自托管方式,操作成本低,只需三条核心命令就能完成部署,是快速落地 Dify 的最佳选择,以下步骤适用于 Linux、MacOS,Windows 需开启 WSL2 并安装 Docker。

步骤 1:安装并验证Docker环境

如果你的机器还未安装 Docker 和 Docker Compose,需先完成安装,安装完成后执行以下命令验证版本,确认安装成功:

bash 复制代码
# 验证Docker
docker --version
# 验证Docker Compose
docker compose --version

确保输出为最新稳定版即可,若出现命令未找到,需检查环境变量配置。

步骤 2:获取Dify项目代码

通过 Git 克隆 Dify 官方仓库(也可直接在 GitHub 下载源码包解压):

bash 复制代码
# 克隆仓库
git clone https://github.com/langgenius/dify.git
# 进入项目目录
cd dify

步骤 3:进入Docker编排目录并配置环境文件

Dify 的容器编排配置文件存放在docker目录下,同时需要复制环境示例文件生成自定义配置:

bash 复制代码
# 进入docker目录
cd docker
# 复制环境示例文件为正式.env文件
cp .env.example .env

关键配置说明:如果你的前端和后端部署在不同子域名,需要在.env文件中设置COOKIE_DOMAIN为共用的顶级域名(如example.com),确保认证 Cookie 跨服务共享,默认单域名部署可忽略此配置。

步骤 4:启动Dify所有服务

执行 Docker Compose 启动命令,后台运行所有 Dify 组件(包括前端、后端、Redis、PostgreSQL、Nginx 等):

bash 复制代码
docker compose up -d

步骤5:访问Dify

1.打开管理员初始化页面以设置管理员账户

bash 复制代码
# 本地环境
http://localhost/install

# 服务器环境
http://your_server_ip/install

2.完成管理员账户设置后,在以下地址登录 Dify:

bash 复制代码
# 本地环境
http://localhost  

# 服务器环境
http://your_server_ip

按照页面提示完成管理员账号创建、工作区命名等操作,即可进入 Dify 的主界面,至此,Dify 部署就完成啦!

四、其他部署方式适配场景

除了 Docker Compose,Dify 还提供了多种部署方式,可根据实际业务需求选择,不同方式的适配场景和操作成本如下:

  • Dify Cloud:一键启动,零配置,适合快速体验 Dify 功能,无需自己管理服务器;
  • Kubernetes:提供 Helm Charts,适合高可用、需要弹性伸缩的大型生产环境,操作成本稍高;
  • 源代码部署:适合需要二次开发、贡献代码的开发者,需搭建完整的本地开发栈(Python、Node.js 等)。

五、部署成功后:快速体验 Dify 核心能力

部署完成并初始化后,就可以解锁 Dify 的七大核心能力,快速搭建属于自己的 AI 应用:

  • 可视化工作流:通过画布拖拽搭建多步骤 AI 管道,支持分支、条件逻辑,无需编写复杂代码;
  • 多模型集成:无缝对接 OpenAI、Anthropic、Llama 等数百种 LLM,兼容 OpenAI 标准接口;
  • 提示词 IDE:交互式编辑提示词,支持模型对比、实时测试,还能通过文本转语音增强体验;
  • 端到端 RAG:轻松实现 PDF、PPT 等文档的摄入、嵌入、索引和检索,提升大模型回答准确性;
  • Agent 开发:基于 LLM 驱动搭建 Agent,支持 Function Calling/ReAct 策略,内置 50 + 工具并支持自定义;
  • LLMOps 能力:实现应用监控、日志分析、提示词优化和性能追踪,保障 AI 应用稳定运行;
  • 后端即服务:所有功能通过 REST API 暴露,可轻松集成到自有业务系统中。

六、知识问答系统搭建案例

1、Dify知识库创建

为确保大语言模型回答的准确性,需预先构建知识库。在操作前,先启动Ollama容器并获取所需的嵌入模型。

运行Ollama容器

bash 复制代码
docker run -d -v ollama:/root/.ollama -p 11434:11434 -p 18790:18790 -p 18789:18789 -e DISPLAY=host.docker.internal:0.0 --pid=host --gpus=all --name ollama ollama/ollama

# 进入容器
docker exec -u root -it ollama /bin/bash

# 下载模型,参考https://ollama.com/library/qwen3.5
ollama pull smartwang/bge-large-zh-v1.5-f32.gguf:latest

# 运行服务
ollama serve

# 查看ollama是否使用GPU,可通过下述的百分比查看,如果大于0则说明使用了GPU
ollama ps

创建知识库


上传文件

选择Embedding模型 :这里使用Ollama的Embeding模型

安装Ollama插件

配置模型

配置完成知识库

重命名知识库

2、创建工作流

这里我直接使用现有模板创建了


添加知识库


配置LLM节点

DeepSeek的API密钥需要到官网上获取


参数提取节点


直接回复节点


运行流程

3、问答测试

七、常见问题排查小技巧

  • 容器启动失败 :执行docker compose logs查看容器日志,排查端口占用、镜像拉取失败等问题,默认 Dify 占用 80 端口,需确保该端口未被其他服务占用;
  • 无法访问初始化页面 :检查 Docker 容器是否全部正常运行(docker compose ps),关闭服务器防火墙或开放 80 端口;
  • 异步任务执行缓慢:如文档索引、工作流运行卡顿,检查机器内存是否满足≥4GiB 要求,Redis 容器是否正常运行。

八、总结

Dify 作为一款开箱即用的 AI 应用开发平台,极大降低了 AI 应用的构建门槛,而 Docker Compose 部署方式更是让零基础开发者也能快速落地。只需满足基础的硬件和软件要求,通过 5 个简单步骤,就能拥有属于自己的自托管 Dify 实例,后续可基于此搭建 RAG 知识库、智能 Agent、自动化工作流等各类 AI 应用。

参考

相关推荐
Fzuim2 小时前
写给 AI 的散文:意图式提示词写作指南
人工智能·ai·prompt·提示词
LuoQuHen2 小时前
第二章:Agent的“大脑“从何而来?—— 从规则引擎到LLM的进化史
人工智能·ai·chatgpt·agent
杨浦老苏2 小时前
开源OSINT调查平台Flowsint的安装
网络安全·docker·可视化·群晖·osint
杜子不疼.2 小时前
2026 GitHub 热门 Python 项目:AI 代理与数据工具精选
人工智能·python·github
东坡肘子2 小时前
一墙之隔,不同的时空 -- 肘子的 Swift 周报 #129
人工智能·swiftui·swift
逻辑君2 小时前
球机器人研究报告【202600001】
人工智能·神经网络·机器学习·机器人
昨夜见军贴06162 小时前
AI报告文档审核驱动多模态应用落地:IACheck助力汽车制造检测体系高效进化
人工智能·汽车·制造
东方不败之鸭梨的测试笔记2 小时前
LLM大语言模型
人工智能·语言模型·自然语言处理
EQUINOX12 小时前
现代循环神经网络
人工智能·rnn·深度学习