跳到主要内容
版本:latest

Docker 应用 Dify 低版本迁移帮助

本文整理自宝塔论坛教程贴: 【教程贴】Docker应用-Dify低版本迁移帮助

本文以从 Dify 1.1.0 升级至 1.1.3 为例,介绍如何在保留数据卷的前提下完成迁移。

版本说明示意

前置说明

  • 迁移前请先备份旧版本容器及其数据卷,避免误操作导致数据丢失。
  • 安装新版本时注意端口不要冲突,保持与旧版本不同的暴露端口。
  • 安装完成后先不要访问 Web 界面,确保容器日志正常且无报错。

迁移步骤

  1. 操作前先备份旧版本容器(建议在面板内或命令行执行备份)。

  2. 从商店中拉取新版本 Dify(示例:从 1.1.0 升级至 1.1.3)。

    应用商店拉取示意1

    应用商店拉取示意2

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

    端口冲突示意1

    端口冲突示意2

    不要访问 Web 界面,日志正常容器正常就行。

  3. 手动停止新版本 Dify 容器(保证复制时目标容器未占用数据卷)。

    停止新版本容器

    停止新版本 Dify 应用示意

    旧版本 Dify 应用示意

  4. 手动升级:停止掉新版本 Dify 应用后,进入终端执行数据迁移命令。

  5. 复制旧版本的 volumes 目录到新版本的 volumes 目录:

迁移核心步骤(务必核对路径)
  • 这是迁移的关键操作,复制 volumes 数据卷决定是否保留数据。
  • 请确保新版本容器处于停止状态(见第 3 步)。
  • 命令前保留 \,避免被 shell alias 替换 cp
  • 路径为示例,需替换为你的实际安装路径;以容器挂载的 volumes 目录为准。
  • 数据量大或权限复杂时,建议使用 \cp -arsync -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 -arsync -a 重新复制。
  1. 复制完成后,启动新版本 Dify 容器。

    启动新版本容器

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

    访问预设端口示意1

    访问预设端口示意2

常见问题

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

如果无法正常安装或拉取镜像,请尝试设置 Docker 加速站: https://www.bt.cn/bbs/thread-134771-1-1.html

原帖链接