Yapi數據遷移(docker版)


前言

最近騰訊99一年的特價服務器要到期了,搭建在服務器上的yapi還在使用。本想直接把項目的接口全部導出來,再導入到新的服務器上。但想了下,賬號這些的還要他們重新去建,接口地址也要重新配置,本人一直比較賴,思來想去還是無縫遷移吧,大家都省事。

方案

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服務緩存沒有更新吧。第二天再訪問一次,新老域名訪問一切正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM