组件 | 要求 |
---|---|
CPU | 双核及以上 |
内存 | 4GB 及以上 |
磁盘空间 | 20GB 可用空间 |
部署成功查看:
浏览器访问:
# 卸载旧版本(全新安装可跳过)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖工具集
sudo apt-get update && sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
# 添加官方 GPG 密钥
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/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://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker CE
sudo apt-get update && sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
# 获取最新稳定版(示例版本号可替换)
COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
# 权限配置
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
Dify 的 Docker 部署包含以下核心组件:
git clone -b main https://github.com/langgenius/dify.git && cd dify/docker
# 用户推荐使用镜像源:需要gitee账号
# git clone https://gitee.com/langgenius/dify.git
cp .env.example .env
# 关键配置项建议修改
sed -i 's/HTTP_PORT=80/HTTP_PORT=5080/g' .env # 避免端口冲突
sed -i 's/SUPERADMIN_EMAIL=.*/[email protected]/g' .env
#配置镜像加速源
sudo nano /etc/docker/daemon.json
"https://docker.1ms.run",
"https://hub.rat.dev",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://proxy.1panel.live",
"https://ghcr.nju.edu.cn",
"https://docker.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.rainbond.cc",
"https://registry.cn-shenzhen.aliyuncs.com",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.nju.edu.cn",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.jsdelivr.fyi",
"https://docker-cf.registry.cyou"
sudo systemctl daemon-reload
sudo systemctl restart docker
# 首次启动建议观察日志:下载速度可能比较慢
docker-compose up -d --build && docker-compose logs -f --tail=100
# 预期输出示例
docker-compose ps
root@wh-VMware-Virtual-Platform:~/dify/docker# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:1.1.3 "/bin/bash /entrypoi…" api 21 minutes ago Up 21 minutes 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 21 minutes ago Up 21 minutes (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 21 minutes ago Up 21 minutes
http://:80
#以上是全量安装已配置好nginx,可无需配置
server {
listen 80;
server_name dify.yourdomain.com;
location / {
proxy_pass http://localhost:5080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket 支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
默认数据存储路径:
建议绑定到自定义目录:
# 修改 docker-compose.yml
services:
postgres:
volumes:
- /data/dify/postgres:/var/lib/postgresql/data
redis:
volumes:
- /data/dify/redis:/data
✅ 排查步骤:
docker-compose logs
ss -tulnp | grep ':80'
✅ 解决方案:
sudo ufw allow 5080/tcp
docker exec dify-web netstat -ant | grep 3000
# 拉取最新代码
git pull origin main
# 重建服务
docker-compose down && docker-compose up -d --build
# PostgreSQL 备份
docker exec dify-db pg_dump -U postgres dify > dify_backup_$(date +%Y%m%d).sql
# Redis 备份
docker exec dify-redis redis-cli save
cp /data/dify/redis/dump.rdp ./redis_backup_$(date +%Y%m%d).rdb
本文详细阐述了 Dify 开源平台的容器化部署方案,具有以下技术亮点:
建议将本文所述方案部署于测试环境验证后,再迁移至生产环境。更多高级配置请参考 Dify 官方文档。
如果本教程帮助您解决了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技术细节!