DOCKER - YAPI 数据备份与恢复

xu.wang

发布于 2020.06.28 00:07 阅读 28 评论 0

        最近服务器马上到期了,找了半天在腾讯云上找到了625/3年的服务(20200627),于是将之前百度云上的tomcat、mysql等数据都备份并恢复到了新服务器,但是还有一个使用docker部署的yapi还未备份,于是记录下载docker下面备份和回复yapi数据的操作。

第一步:备份yapi数据

        首先备份MongoDB的数据

(1)进入yapi使用的MongoDB的docker

#查看docker镜像

docker ps -a

#进入docker

docker exec -it yapi-mongo /bin/sh

(2)导出(备份)库

#yapi的数据库名为: yapi,下面的命令为,将127.0.0.1(:27017)中的yapi数据库数据备份到docker 容器下面的/data/db/yapidb目录下面。

# mongodump -h ip  -d 数据库名 -o  容器存放备份数据的地址

mongodump -h 127.0.0.1 -d yapi -o /data/db/yapidb

# 退出MongoDB的docker,将数据拷贝到本地路径(/www/backup/yapidbbk)

# docker cp 容器名:容器内存备份数据的地址  宿主机的存放备份数据的地址

docker cp yai-mongo:/data/db/yapidb /www/backup/yapidbbk

第二步:恢复数据

(1)将老服务器备份好的MongoDB数据拷贝到新服务中,目录为/www/docker/yapidb

  (2) 重新安装MongoDB

(3)将备份好的数据库文件拷贝到docker中(下面是将本地yapi数据,拷贝到docker下面的/home/yapidb路径中)

# sudo docker cp 本机路径 镜像名称:镜像路径

 sudo docker cp /www/dockerimages/yapi yapi-mongo:/home/ypaidb/

(4)进入MongoDB的docker中恢复数据到MongoDB

#进入docker

docker exec -it yapi-mongo /bin/sh

# mongorestore -h ip(:端口) -d 数据库名  容器存放数据的地址

mongorestore -h 127.0.0.1 -d yapi /data/db/yapidb

第三步:测试

docker run -d   --name yapi   --link yapi-mongo:mongo   --workdir /api/vendors   -p 3000:3000   registry.cn-hangzhou.aliyuncs.com/anoy/yapi   server/app.js -v /www/dockerimages/yapi:/data/yapidb

启动yapi测试在浏览器中输入ip:3000 进行测试,若进入系统能看见之前的数据则说明成功。