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

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

相关推荐
zyu6717 小时前
03-Docker存储和网络
网络·docker·容器
正在学习前端的---小方同学18 小时前
Harbor部署教程
linux·运维
牛奔18 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
翼龙云_cloud19 小时前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算
木童66219 小时前
Kubernetes 操作管理完全指南:从陈述式到声明式,覆盖全生命周期
云原生·容器·kubernetes
DX_水位流量监测20 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina20 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
不想画图20 小时前
Kubernetes(三)——组网概念和基础操作指令
云原生·容器·kubernetes
Mr_Xuhhh21 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器
f***24111 天前
高效自动化管理临时文件的技术方案
运维·自动化