最近服务器马上到期了,找了半天在腾讯云上找到了625/3年的服务(20200627),于是将之前百度云上的tomcat、mysql等数据都备份并恢复到了新服务器,但是还有一个使用docker部署的yapi还未备份,于是记录下载docker下面备份和回复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 进行测试,若进入系统能看见之前的数据则说明成功。
{{ cmt.username }}
{{ cmt.content }}
{{ cmt.commentDate | formatDate('YYYY.MM.DD hh:mm') }}