一、先说部署前的几个前提
Dify 是开源的大模型应用开发平台,常见的对话机器人、文档问答、知识库检索、智能体编排,都能直接在它上面搭起来。它的好处不在'炫',而在于把一堆原本要自己拼的组件收拢到一套可视化平台里,省掉很多重复造轮子的活。
这次用的是 Docker Compose 一键部署,环境放在 CentOS 7/8 上。思路很直接:镜像交给 Compose 编排,数据落到本地卷,后面重启、升级、迁移都不会太折腾。适合测试环境,也能撑起轻量生产环境;前提是别把系统版本、Compose 版本和网络条件搞错。
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 不是单容器应用,Compose 会把一整套核心组件一起拉起来:
- Dify Web 前端、API 服务、Worker 任务队列
- PostgreSQL:存配置、用户、对话数据
- Redis:缓存和任务加速
- Weaviate:向量数据库,支撑 RAG 检索
- SSRF Proxy、Sandbox:安全沙箱与代理
- Nginx:统一入口和反向代理
这些服务都走容器化部署,数据挂本地卷。好处是清晰,坏处是第一次起服务时要耐心等镜像拉取完。
二、先把 Docker 和 Compose 装对
Dify 这套配置对 Docker Compose V2 比较敏感。旧版 docker-compose(带短横线)经常不是'能不能用'的问题,而是'能不能顺利起起来'的问题。少走弯路的办法就是直接上 V2。
2.1 先清掉旧版本,免得互相打架
如果机器上已经有老 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
- 安装依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加 Docker 官方 YUM 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装 Docker
yum install -y docker-ce docker-ce-cli containerd.io
- 启动 Docker 并设置开机自启
systemctl start docker
systemctl enable docker
- 看版本确认是否装好
docker --version


