Docker 应用 Dify 低版本迁移帮助
本文整理自宝塔论坛教程贴: 【教程贴】Docker应用-Dify低版本迁移帮助
本文以从 Dify 1.1.0 升级至 1.1.3 为例,介绍如何在保留数据卷的前提下完成迁移。

前置说明
- 迁移前请先备份旧版本容器及其数据卷,避免误操作导致数据丢失。
- 安装新版本时注意端口不要冲突,保持与旧版本不同的暴露端口。
- 安装完成后先不要访问 Web 界面,确保容器日志正常且无报错。
迁移步骤
-
操作前先备份旧版本容器(建议在面板内或命令行执行备份)。
-
从商店中拉取新版本 Dify(示例:从 1.1.0 升级至 1.1.3)。


注意端口不要冲突,安装完成日志没有报错就行。


不要访问 Web 界面,日志正常容器正常就行。
-
手动停止新版本 Dify 容器(保证复制时目标容器未占用数据卷)。



-
手动升级:停止掉新版本 Dify 应用后,进入终端执行数据迁移命令。
-
复制旧版本的
volumes目录到新版本的volumes目录:
迁移核心步骤(务必核对路径)
- 这是迁移的关键操作,复制
volumes数据卷决定是否保留数据。 - 请确保新版本容器处于停止状态(见第 3 步)。
- 命令前保留
\,避免被 shell alias 替换cp。 - 路径为示例,需替换为你的实际安装路径;以容器挂载的
volumes目录为准。 - 数据量大或权限复杂时,建议使用
\cp -a或rsync -a保留权限与符号链接。
# 命令格式为
# \cp -r 旧版本 Dify 目录/volumes 新版本 Dify 目录/
# 要替换成你自己的命令,注意命令前的 \ 不能少
\cp -r /www/dk_project/dk_app/dify_v190/dify_v190_HGHK/volumes \
/www/dk_project/dk_app/dify_v1100/dify_v1100_DFTk/
- 验证复制结果:比较两个
volumes目录的文件数与大小是否一致;如遇权限异常,尝试\cp -a或rsync -a重新复制。
-
复制完成后,启动新版本 Dify 容器。

-
访问新版本预设端口,确认迁移成功(数据与配置应与旧版本一致)。


常见问题
- 安装或拉取镜像失败:可尝试配置镜像加速站。
- 新版本容器启动后不要立即访问 Web,先观察日志是否正常。
- 如果是云服务器,务必在安全组开放对应端口(勾选“允许外部访问”仅穿过系统防火墙,仍需放行安全组)。
无法正常安装/拉取镜像
如果无法正常安装或拉取镜像,请尝试设置 Docker 加速站: https://www.bt.cn/bbs/thread-134771-1-1.html