一、在互联网电脑上准备迁移文件
1. 保存 Docker 镜像
# 获取所有 Dify 相关镜像(根据实际容器名调整)
docker ps --filter "name=dify" --format "{{.Image}}" | sort -u > dify-images.list
# 保存镜像为 .tar 文件
docker save $(cat dify-images.list) -o dify-images.tar
2. 备份数据卷or直接复制路径
(1)备份数据卷
# 查找 Dify 使用的数据卷(通常包含 postgres、redis 等)
docker volume ls --filter "name=dify" -q > dify-volumes.list
# 备份每个卷数据
for volume in $(cat dify-volumes.list); do
docker run --rm -v $volume:/source alpine tar -czf /tmp/$volume.tar.gz -C /source .
mv /tmp/$volume.tar.gz .
done
(2).直接复制路径文件
因为是依据代码启动的,按照原路径放到内网电脑即可。
二、将文件传输到离线电脑
将以下文件通过 U 盘/硬盘复制到离线电脑:
dify-images.tar
(Docker 镜像包)dify-volumes.list
(卷列表or原路径)*.tar.gz
(所有卷备份文件)docker-compose.yml
和.env
(配置文件)
三、在离线电脑上恢复环境
1. 加载 Docker 镜像
docker load -i dify-images.tar
2. 创建并恢复数据卷
# 创建空白数据卷
for volume in $(cat dify-volumes.list); do
docker volume create $volume
done
# 恢复卷数据
for volume in $(cat dify-volumes.list); do
docker run --rm -v $volume:/target -v $(pwd):/backup alpine \
sh -c "rm -rf /target/* && tar -xzf /backup/$volume.tar.gz -C /target"
done
3. 修改配置文件
编辑
.env
文件:确保
OPENAI_API_KEY
等依赖互联网的配置为空或替换为离线模型(如本地部署的 LLM)。关闭无法离线使用的功能(如邮箱服务)。
4. 启动 Dify
# 在 docker-compose.yml 目录执行
docker compose up -d
四、验证离线部署
检查容器状态:
docker compose ps
确保所有容器状态为
Up
。
访问 Dify:
浏览器打开
http://离线电脑IP:80
确认能正常登录且无网络错误。