Docker Volumes 还原指南

要将备份压缩包还原并重新导入到Docker中,请按以下步骤操作:

1. 停止正在运行的容器

复制代码
docker-compose -f docker-compose.yml down

2. 提取备份文件

找到要还原的备份文件(位于./backups目录,格式为ragflow-backup-YYYY-MM-DDTHH-MM-SS.tar.gz),并解压:

复制代码
mkdir -p restore_temp
tar -xzf ./backups/ragflow-backup-YYYY-MM-DDTHH-MM-SS.tar.gz -C restore_temp

3. 删除旧的数据卷(可选,谨慎操作)

如果需要完全替换现有数据:

复制代码
docker volume rm ragflow_esdata01 ragflow_mysql_data ragflow_minio_data ragflow_redis_data

4. 重新创建数据卷

复制代码
docker volume create ragflow_esdata01
docker volume create ragflow_mysql_data
docker volume create ragflow_minio_data
docker volume create ragflow_redis_data

5. 使用临时容器还原数据

复制代码
# 还原Elasticsearch数据
docker run --rm -v ragflow_esdata01:/data -v $(pwd)/restore_temp/backup/elasticsearch:/backup alpine sh -c "rm -rf /data/* && cp -a /backup/. /data/"

# 还原MySQL数据
docker run --rm -v ragflow_mysql_data:/data -v $(pwd)/restore_temp/backup/mysql:/backup alpine sh -c "rm -rf /data/* && cp -a /backup/. /data/"

# 还原Minio数据
docker run --rm -v ragflow_minio_data:/data -v $(pwd)/restore_temp/backup/minio:/backup alpine sh -c "rm -rf /data/* && cp -a /backup/. /data/"

# 还原Redis数据
docker run --rm -v ragflow_redis_data:/data -v $(pwd)/restore_temp/backup/redis:/backup alpine sh -c "rm -rf /data/* && cp -a /backup/. /data/"

6. 清理临时文件

复制代码
rm -rf restore_temp

7. 重新启动服务

复制代码
docker-compose -f docker-compose.yml up -d

注意:请确保还原操作在数据卷路径正确且服务停止的情况下进行,以避免数据冲突或损坏。

相关推荐
大柏怎么被偷了1 小时前
【Linux】进程等待
linux·运维·服务器
云和数据.ChenGuang2 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
酷柚易汛智推官2 小时前
Fastlane赋能移动研发:从全流程自动化到工程效能升级
运维·自动化·酷柚易汛
落798.2 小时前
Genlogin × Bright Data,一键解锁自动化采集的高成功率方案
运维·自动化·数据采集·亮数据
羑悻的小杀马特2 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
L***86532 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
十六年开源服务商4 小时前
WordPress运维服务怎样提供客户服务支持
运维
chxii4 小时前
PHP 配置全解析:Apache vs Nginx 的线程安全差异与 Windows 实战指南
运维·php
想唱rap4 小时前
C++ map和set
linux·运维·服务器·开发语言·c++·算法
fruge5 小时前
前端文档自动化:用 VitePress 搭建团队技术文档(含自动部署)
运维·前端·自动化