Yapi数据迁移(docker版)

前言

最近腾讯99一年的特价服务器要到期了,搭建在服务器上的yapi还在使用。本想直接把项目的接口全部导出来,再导入到新的服务器上。但想了下,账号这些的还要他们重新去建,接口地址也要重新配置,本人一直比较赖,思来想去还是无缝迁移吧,大家都省事。

直接用
docker save -o container.tar <container_name>
docker load -i container.tar
docker run ....

以下的方案废弃,是笨办法,当时不太会用docker

方案

A为老机器,B为新机器。
1.将A服务器(老服务器)上的docker中的MongoDB数据备份;
2.将备份的数据还原到B服务器(新服务器)的MongoDB中;
3.将指向A服务器的域名ip改为B服务器的ip地址。

命令

1.将A服务器(老服务器)上的docker中的MongoDB数据备份;

备份数据到 /my-yapi 路径下(路径下有一个yapi的文件)
docker exec 容器名 mongodump -d yapi -o /my-yapi/

进入到容器中打包备份文件
docker exec -it 容器名 /bin/bash
cd /my-yapi
tar -cvf yapi.tar /my-yapi/yapi

将备份文件移动到宿主机(A服务器)
docker cp 容器名:/my-yapi/yapi.tar /root

2.将备份的数据还原到B服务器(新服务器)的MongoDB中;


将A服务器上的备份文件移动到B服务器,具体操作可参见往期文章
mac可以用 scp,windows可以用 rz sz等

进入到B服务器,将备份文件移动到B服务的monggo docker中
docker cp /root/yapi.tar  容器名:/data/

进入到容器中解压文件
docker exec -it 容器名 /bin/bash
cd /data
tar -zxvf yapi.tar 

还原数据
docker exec 容器名 mongorestore -d yapi --drop --dir /data/yapi

3.将指向A服务器的域名ip改为B服务器的ip地址。

域名管理平台中修改域名指向

插曲

到这里,整个yapi数据迁移就算完成了。为了验证是否成功,我关掉了A服务器的docker服务器,访问的时候直接就报错了。再确定其他原因后,我重新配置了一个新域名指向B服务器。新域名和老域名指向的是同一个ip,新的可以访问,老域名的还是访问的A服务器。好吧应该是我的dns服务缓存没有更新吧。第二天再访问一次,新老域名访问一切正常。

posted @ 2021-08-09 00:31  不止吧  阅读(949)  评论(0编辑  收藏  举报