背景:在RAGFlow的升级过程中,往往会面临着数据可能会被误删,升级错误操作等不可控的人为因素抑或机器因素;在生产过程中,数据的丢失往往是不可逆的.所以在升级过程中一定要先对数据进行备份,就算是升级过程中有可以不删除的数据的方式等等

要把每个容器的数据也都拷贝过去

1.先查看一个mysql容器的数据放在哪里(ragflow-mysql:容器名)

docker volume inspect ragflow_mysql_data | grep Mountpoint

命令返回的结果

  "Mountpoint": "/var/lib/docker/volumes/ragflow_mysql_data/_data",

2.进入到 /var/lib/docker/volumes/

cd /var/lib/docker/volumes/
ll

命令返回的结果

drwx-----x  3 root root   4096 Mar 11 14:25 ragflow_esdata01/
drwx-----x  3 root root   4096 Mar 11 14:25 ragflow_minio_data/
drwx-----x  3 root root   4096 Mar 11 14:25 ragflow_mysql_data/
drwx-----x  3 root root   4096 Mar 11 14:25 ragflow_redis_data/

把这些都打包了,依次执行以下命令

tar -cvf ragflow_esdata01.tar ragflow_esdata01
tar -cvf ragflow_minio_data.tar ragflow_minio_data
tar -cvf ragflow_mysql_data.tar ragflow_mysql_data
 tar -cvf ragflow_redis_data.tar ragflow_redis_data

3.把原容器进行删除(切勿使用down -v)

#把原容器删了
docker compose -f docker-compose.yml -p ragflow down

4.到RAGFLow的目录下进行项目升级

git pull

git checkout -f v0.19.1

5.启动项目

docker compose -f docker-compose.yml -p ragflow up -d

查看服务日志
docker logs -f ragflow-server

数据恢复:

如果启动项目发现原来的项目数据都不见了,使用备份数据紧急恢复!!!
1.将第2步备份的数据解压(会自动覆盖原目录的数据)

tar -xvf 包名.tar

2.删除原容器

docker compose -f docker-compose.yml -p ragflow down

3.启动项目

docker compose -f docker-compose.yml -p ragflow up -d

这样项目就升级成功了!!!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐