跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

Docker Compose 部署 Dify 应用实战指南

Docker Compose 部署 Dify 应用实战指南。介绍基于 CentOS 系统使用 Docker Compose V2 一键部署 Dify 开源大模型应用平台的全过程。涵盖环境准备、Docker 安装配置、镜像加速、项目下载与初始化、服务启动验证及常见故障排查。重点解决版本兼容、网络异常、端口占用等部署问题,实现数据持久化与私有化落地。

DataScient发布于 2026/3/16更新于 2026/10/794 浏览
Docker Compose 部署 Dify 应用实战指南

一、前言与部署概述

Dify 是一款开源的大模型应用开发平台,支持可视化 Prompt 编排、RAG 知识库搭建、智能体配置、插件扩展等核心功能,可快速私有化部署企业级 AI 应用,无需复杂开发即可搭建对话机器人、文档问答、AI 助手等场景。

本文采用 Docker Compose 一键部署方案,基于 CentOS 7/8 系统实操,全程命令可直接复制,针对部署过程中常见的 Docker 版本兼容、网络异常、命令报错、启动卡住等问题做专项避坑,测试环境与轻量生产环境通用,部署后数据持久化,重启不丢失配置。

1.1 部署环境要求

  • 操作系统:CentOS 7.x / 8.x(x86_64 架构)
  • 硬件配置:最低 2 核 4G,推荐 4 核 8G;磁盘可用空间≥20G(测试环境 10G+ 即可,本文实测 33G 磁盘完全够用)
  • 网络要求:服务器可访问外网,放行 80 端口(或自定义端口),关闭防火墙或放行对应端口
  • 依赖软件:Docker Engine ≥20.10、Docker Compose V2(必须,V1 版本不兼容高版本配置)

1.2 部署架构说明

本次部署包含 Dify 全套核心组件,通过 Docker Compose 统一编排,自动部署以下服务:

  • Dify Web 前端、API 服务、Worker 任务队列
  • PostgreSQL(数据库,存储配置、用户、对话数据)
  • Redis(缓存服务,提升接口响应速度)
  • Weaviate(向量数据库,支撑 RAG 知识库检索)
  • SSRF Proxy、Sandbox(安全沙箱与代理服务)
  • Nginx(反向代理,统一入口)

所有服务容器化部署,数据挂载至本地卷,保障数据持久化,后续升级、迁移更便捷。

二、环境准备:Docker 与 Docker Compose 安装

Dify 最新版本仅支持 Docker Compose V2,旧版 V1(docker-compose 带短横)会出现语法兼容报错,需先安装/升级正确版本。

2.1 卸载旧版本 Docker(避免冲突)

若服务器已安装老旧版本 Docker,先卸载清理,防止版本冲突:

yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
rm -rf /var/lib/docker
rm -rf /etc/docker

2.2 安装 Docker Engine 稳定版

  1. 安装依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加 Docker 官方 YUM 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装最新版 Docker
yum install -y docker-ce docker-ce-cli containerd.io
  1. 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker
  1. 验证 Docker 安装
docker --version

出现版本号即安装成功。

2.3 安装 Docker Compose V2(核心避坑)

直接安装官方插件版,无需手动配置,彻底解决旧版本兼容问题:

yum install -y docker-compose-plugin

验证 Compose 版本:

docker compose version

需显示 v2.20.0 及以上版本,低于此版本会出现'Additional property required is not allowed'报错。

2.4 配置 Docker 国内镜像加速(解决拉取镜像慢)

默认 Docker Hub 拉取镜像速度慢,配置国内镜像源,提升部署效率:

cat > /etc/docker/daemon.json <<EOF
{
 "registry-mirrors": [
  "https://docker.mirrors.ustc.edu.cn",
  "https://hub-mirror.c.163.com",
  "https://mirror.baidubce.com"
 ]
}
EOF

重启 Docker 生效:

systemctl daemon-reload
systemctl restart docker

三、Dify 项目下载与配置

3.1 下载 Dify 官方源码

建议将项目存放至/opt 目录,统一管理服务:

cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker

3.2 生成环境配置文件

复制官方示例配置文件,无需修改即可直接部署测试,生产环境可按需调整端口、密钥等参数:

cp .env.example .env

可选配置:若 80 端口被占用,编辑.env 文件,修改 EXPOSE_NGINX_PORT 为自定义端口(如 8080),同时防火墙放行该端口即可。

3.3 预清理 Docker 异常网络(避坑核心)

针对部署常见的'Container cannot be connected to network endpoints'网络报错,提前清理残留异常网络与无用资源:

# 停止残留容器
docker compose down
# 清理无用网络
docker network prune -f
# 清理无用镜像、缓存
docker system prune -f

四、Dify 启动部署与验证

4.1 一键启动 Dify 服务

进入 dify/docker 目录后,执行以下命令后台启动所有容器(命令格式核心避坑):

# 正确命令:docker + compose + up -d,无短横,空格分隔
docker compose up -d

命令报错避坑:若提示'unknown shorthand flag: 'd' in -d',是命令格式错误,必须严格按照 docker compose up -d 执行,compose 与 up 之间有空格,-d 紧跟 up 后,不可拆分、不可少空格。

首次启动会自动拉取所有依赖镜像,耗时 3-10 分钟(取决于服务器网络),若中途卡住,直接 Ctrl+C 中断,重新执行该命令即可,Docker Compose 具备幂等性,不会重复创建容器、不损坏数据。

4.2 验证容器运行状态

启动完成后,查看所有服务状态,确保全部为 Up 状态:

docker compose ps

正常结果:所有服务(web、api、worker、postgres、redis、weaviate 等)状态均为 Up,无退出、无异常。

4.3 查看启动日志(故障排查)

若容器启动异常,实时查看日志定位问题:

# 查看全部服务日志
docker compose logs -f
# 单独查看某服务日志(如 web 服务)
docker compose logs -f web

日志无报错、出现'服务启动成功'字样,即部署完成。

五、Dify 访问与初始配置

5.1 访问 Dify 后台

浏览器输入服务器 IP 地址,直接访问(默认 80 端口,自定义端口则加端口号)。

5.2 初始管理员账号

开始运行会跳出管理员注册页面,直接添加自己的邮箱密码就行。

5.3 基础配置

  • 修改管理员密码与个人信息
  • 创建知识库、配置对话应用

整理日常运维必备命令,方便后续管理、重启、升级服务。

六、常见故障与解决方案

6.1 报错:使用了旧版 Docker Compose V1

原因:使用了旧版 Docker Compose V1(docker-compose 带短横),不支持高版本配置语法

6.2 报错:Container cannot be connected to network endpoints

解决:执行 docker compose down && docker network prune -f,重新启动服务

原因:命令格式错误,空格缺失或参数位置错误

6.3 启动卡住、镜像拉取失败

解决:配置 Docker 国内镜像加速,中断后重新执行启动命令

原因:防火墙未放行 80 端口、容器未正常启动

七、部署总结

核心避坑要点:必须使用 Docker Compose V2、提前清理异常网络、严格遵循命令格式,遇到启动卡住可直接重复执行启动命令,无需担心数据损坏。部署完成后即可快速搭建各类 AI 应用,实现私有化大模型应用落地。

目录

  1. 一、前言与部署概述
  2. 1.1 部署环境要求
  3. 1.2 部署架构说明
  4. 二、环境准备:Docker 与 Docker Compose 安装
  5. 2.1 卸载旧版本 Docker(避免冲突)
  6. 2.2 安装 Docker Engine 稳定版
  7. 2.3 安装 Docker Compose V2(核心避坑)
  8. 2.4 配置 Docker 国内镜像加速(解决拉取镜像慢)
  9. 三、Dify 项目下载与配置
  10. 3.1 下载 Dify 官方源码
  11. 3.2 生成环境配置文件
  12. 3.3 预清理 Docker 异常网络(避坑核心)
  13. 停止残留容器
  14. 清理无用网络
  15. 清理无用镜像、缓存
  16. 四、Dify 启动部署与验证
  17. 4.1 一键启动 Dify 服务
  18. 正确命令:docker + compose + up -d,无短横,空格分隔
  19. 4.2 验证容器运行状态
  20. 4.3 查看启动日志(故障排查)
  21. 查看全部服务日志
  22. 单独查看某服务日志(如 web 服务)
  23. 五、Dify 访问与初始配置
  24. 5.1 访问 Dify 后台
  25. 5.2 初始管理员账号
  26. 5.3 基础配置
  27. 六、常见故障与解决方案
  28. 6.1 报错:使用了旧版 Docker Compose V1
  29. 6.2 报错:Container cannot be connected to network endpoints
  30. 6.3 启动卡住、镜像拉取失败
  31. 七、部署总结

更多推荐文章

查看全部
  • OpenClaw 本地优先智能体框架架构与工程实践
  • 10 个高效 AI 提示词工程技巧指南
  • 越疆机器人 TCP 通讯 12 点标定脚本程序
  • Stable Yogi 皮衣生成工具在动漫展会 VR 展厅的应用
  • 基于 SpringBoot+Vue 的新能源充电系统架构设计与实现
  • Llama-3.2-3B 本地部署:Ollama 运行与 Grafana 实时监控
  • PHP 安装与配置教程
  • OpenClaw Dashboard 无法登录 Web 控制面板的解决方案
  • GitHub 开源日报:2026 年 3 月 24 日 AI Agent 与多媒体工具精选
  • C++ std::string 基础入门与常用操作
  • 111 页全面综述:大模型评测体系与未来展望
  • Windows 11 下利用 llama.cpp 测试 Qwen3.5 量化模型
  • Python 实现微信好友撤回消息查看功能
  • Python 库 adaptnlp 语法、参数及实际应用案例
  • MCP 插件配置指南:browser-tools-mcp 示例
  • Claude Agent Skills 生态解析:7 大开源项目与开发实践指南
  • 要素类 (IFeatureClass) 导出为 CAD (.DWG) 文件的方法
  • 智元机器人三大产线及技术产业化分析
  • Being-H0.5:扩展以人为中心的机器人学习实现跨具身泛化
  • C++ Qt 窗口框架与菜单栏 QMenuBar 详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online