Dify 更新操作指南

Dify 更新操作指南

更新前准备

1. 环境检查

# 检查当前服务运行状态
docker compose ps
​
# 检查 Docker 版本
docker --version
docker compose version

2. 重要文件备份

# 创建带时间戳的备份目录
$backupDir = "backup_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
New-Item -ItemType Directory -Path $backupDir
​
# 备份环境配置文件
Copy-Item .env "$backupDir\.env"
​
# 可选:备份数据库数据(如果需要)
# docker compose exec db pg_dump -U postgres dify > "$backupDir\database_backup.sql"

更新执行步骤

步骤 1: 停止现有服务(如果正在运行)

# 优雅停止所有服务
docker compose down
​
# 检查是否完全停止
docker compose ps

步骤 2: 拉取最新镜像

# 拉取所有服务的最新镜像
docker compose pull

预期输出示例:

✔ api Pulled
✔ worker Pulled  
✔ web Pulled
✔ db Pulled
✔ redis Pulled
✔ nginx Pulled
✔ weaviate Pulled
✔ sandbox Pulled
✔ plugin_daemon Pulled
✔ ssrf_proxy Pulled

步骤 3: 启动更新后的服务

# 后台启动所有服务
docker compose up -d

步骤 4: 验证服务状态

# 检查所有容器状态
docker compose ps
​
# 查看服务日志(可选)
docker compose logs -f --tail=50

验证更新成功

1. 服务状态检查

确保以下服务都显示为 "Up" 状态:

服务名镜像版本状态要求端口
apilanggenius/dify-api:1.9.1Up5001
weblanggenius/dify-web:1.9.1Up3000
workerlanggenius/dify-api:1.9.1Up5001
worker_beatlanggenius/dify-api:1.9.1Up5001
dbpostgres:15-alpineUp (healthy)5432
redisredis:6-alpineUp6379
nginxnginx:latestUp80,443
weaviatesemitechnologies/weaviate:1.19.0Up-
sandboxlanggenius/dify-sandbox:0.2.12Up-
plugin_daemonlanggenius/dify-plugin-daemon:0.3.0-localUp5003
ssrf_proxyubuntu/squid:latestUp3128

2. 访问测试


常见问题排查

问题 1: 镜像拉取失败

症状: Error response from daemon: failed to resolve reference

解决方案:

# 检查网络连接
Test-NetConnection registry-1.docker.io -Port 443
​
# 检查 DNS 解析
nslookup registry-1.docker.io
​
# 配置 Docker 镜像源(如果需要)
# 编辑 Docker Desktop 设置 -> Docker Engine

问题 2: 容器启动失败

症状: 容器状态显示 "Exited" 或 "Restarting"

排查步骤:

# 查看具体容器日志
docker compose logs [服务名]
​
# 检查端口占用
netstat -ano | findstr :80
netstat -ano | findstr :443
​
# 检查磁盘空间
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID,FreeSpace,Size

问题 3: 数据库连接问题

症状: API 服务无法连接数据库

解决方案:

# 检查数据库容器状态
docker compose exec db pg_isready -U postgres
​
# 重启数据库服务
docker compose restart db
​
# 检查环境变量配置
docker compose exec api env | grep DB_

📝 更新后配置检查

1. 环境变量验证

检查 .env 文件中的关键配置:

  • SECRET_KEY: 应用密钥

  • DB_*: 数据库连接配置

  • REDIS_*: Redis 连接配置

  • FILES_URL: 文件服务 URL

2. 数据迁移(如果需要)

# 执行数据库迁移(如果有新版本要求)
docker compose exec api flask db upgrade

回滚操作

如果更新后出现问题,可以快速回滚:

# 停止当前服务
docker compose down
​
# 恢复备份的配置文件
Copy-Item "backup_YYYYMMDD_HHMMSS\.env" .env
​
# 使用之前的镜像版本(需要在 docker-compose.yaml 中指定版本)
docker compose up -d

以上是我在更新时出现的问题,日常笔记。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值