![](/img/trans.png)
[英]Mongodb monogorestore “root directory must be a dump of a single database”
[英]docker, mongorestore - ERROR: root directory must be a dump of a single database
我必須在我的本地計算機上更新一個集合並將其上傳到docker實例,這是我的過程
$ #backup local database
$ mongodump --collection styles --db ccc-mongo
$ tar -zcvf dump.tar.gz dump
$ scp dump.tar.gz me@remote:/home/me
$ ssh me@remote
me@remote: ~ $ docker exec -i mongo-dev sh -c "cd /tmp && tar xzf - && mongorestore --collection styles --db ccc-mongo" < dump.tar.gz
這給我一個錯誤
connected to: 127.0.0.1
Fri Dec 18 16:05:26.768 ERROR: ERROR: root directory must be a dump of a single database
Fri Dec 18 16:05:26.768 ERROR: when specifying a db name with --db
Import BSON files into MongoDB.
我只需要還原一個集合而不會刪除其他數據,非常感謝任何建議
這對我有用
docker exec -i mongo-dev sh -c "cd /tmp && tar xzf - && mongorestore --db ccc-mongo --drop dump/ccc-mongo && rm -Rf dump" < dump.tar.gz
需要確保在轉儲中僅包含我要還原的集合
我想出了怎么做
注意:請簡要說明您的問題。 問題尚不清楚,請指定要在哪里進行還原並將數據還原到服務器數據庫或ubuntu運行計算機中。 如果從本地數據庫進入服務器,請執行以下步驟:
這是說明
將轉儲文件夾復制到服務器
scp -r /local_path/to/dump_folder root@111.222.33.4:/remote/path
SSH進入服務器
ssh root@111.222.33.4
從服務器根目錄復制到Docker容器內部
docker cp dump_folder mongodb:/dump_folder
進入mongodb docker容器
docker exec -it mongodb bash
檢查復制的文件夾是否存在ls
(如果您將其命名為與本示例相同的文件夾,則應該看到dump_folder)
使用mongorestore
mongorestore --drop -d AppName dump_folder
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.