yapi接口編寫框架,docker數(shù)據(jù)卷備份和恢復

yapi框架,docker數(shù)據(jù)卷備份和恢復

在實際運用中,在一臺機子上的數(shù)據(jù)可能會遷移到另一個地方,這個時候我們怎么備份我們現(xiàn)有的數(shù)據(jù)呢?其次備份好了又怎么在另一個地方使用呢?

個人github文件地址:https://github.com/zdmission/yapi-docker/blob/master/back_volume.md

docker數(shù)據(jù)卷遷移主要步驟(確保你要備份的數(shù)據(jù)卷的相關(guān)容器已經(jīng)啟動)

  • 1.對現(xiàn)有的volume打包,文件格式tar或者tar.gz,刪除容器
  • 2.拷貝或者上傳壓縮包到你的目的機器
  • 3.在新機器上創(chuàng)建中間容器,并且命名掛在的數(shù)據(jù)卷(否則就變成匿名數(shù)據(jù)卷了,不方便辨認)
  • 4.接下來是創(chuàng)建容器解壓文件到數(shù)據(jù)卷對應(yīng)的目錄
  • 5.刪除中間過渡的容器以及對應(yīng)的數(shù)據(jù)卷信息

接下來我們按照上邊的步驟一步一步實現(xiàn)數(shù)據(jù)的備份和恢復以及啟動服務(wù)

  • 一、對現(xiàn)有的volume打包,文件格式tar或者tar.gz
# mongo-yapi為已經(jīng)啟動的容器(創(chuàng)建容器參考docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo)
# 其中mongo_data_yapi是已經(jīng)創(chuàng)建的數(shù)據(jù)卷

# $(pwd)是當前項目的路徑

# /backup 為容器內(nèi)備份目錄

# mongo 是鏡像

# tar cvf /backup/backupdata.tar -C /data/db ./

# /backup/backupdata.tar 為什么要這樣寫,是前邊做了對應(yīng),/backup這個目錄對應(yīng)了$(pwd)當前項目的路徑

# -C 參數(shù)可以避免打包的文件中出現(xiàn)了我么不需要的目錄,比如我們想打包/usr/lib/nignx下的所有文件,最后解壓出來的文件不會包含/usr/lib/nginx目錄,這是參考別人的,在本說明中未操作
docker run -it --rm --volumes-from mongo-yapi -v $(pwd):/backup mongo tar cvf /backup/backupdata.tar /data/db
  • 二、拷貝或者上傳壓縮包到你的目的機器(這個目前在本機就省略了)
  • 三、在新機器上創(chuàng)建中間容器,并且命名掛在的數(shù)據(jù)卷(否則就變成匿名數(shù)據(jù)卷了,不方便辨認)
# 這個創(chuàng)建的中間容器會用到,所以不要使用--rm
# zdmission:/data/db 是給數(shù)據(jù)卷起名了叫zdmission
# /bin/bash 交互模式是bash風格的
docker run -itd -v zdmission:/data/db --name dataone mongo /bin/bash

# 通過docker volume ls 查看zdmission數(shù)據(jù)卷
  • 四、接下來是創(chuàng)建容器解壓文件到數(shù)據(jù)卷對應(yīng)的目錄
# 數(shù)據(jù)卷來源--volumes-from它的值是一個特殊的容器,即dataone
docker run --rm --volumes-from dataone -v $(pwd):/backup mongo tar xvf /backup/backupdata.tar
  • 五、刪除中間過渡的容器以及對應(yīng)的數(shù)據(jù)卷信息(看情況想刪除就刪)

  • 六、利用新創(chuàng)建zdmission數(shù)據(jù)卷創(chuàng)建mongo的容器mongo-yapi2

docker run -d --name mongo-yapi2 -v zdmission:/data/db mongo
  • 七、啟動yapi服務(wù)
    確保你已經(jīng)有了yapi的鏡像,并且已經(jīng)初始化yapi的服務(wù)
docker run -d \
  --name web-yapi \
  --link mongo-yapi2:mongo \
  --workdir /yapi/vendors \
  -p 9527:9527 \
  qunar-yapi \
  server/app.js
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容