如何将mongoDb collection BSON备份文件恢复到docker abernix/meteord:node-8.4.0-base?
我使用以下命令从mongoDb集合进行了备份如何将mongoDb collection BSON备份文件恢复到docker abernix/meteord:node-8.4.0-base?,mongodb,docker,ubuntu,Mongodb,Docker,Ubuntu,我使用以下命令从mongoDb集合进行了备份 mongodump -h 127.0.0.1 --port 9001 -d meteor -c products scp -r dump root@66.204.148.25:/root docker exec -i mongodb mongorestore -d mew -c audioQuestions_Joker dump/meteor 我已使用以下命令将转储文件夹递归复制到我的服务器 mongodump -h 127.0.0.1 --p
mongodump -h 127.0.0.1 --port 9001 -d meteor -c products
scp -r dump root@66.204.148.25:/root
docker exec -i mongodb mongorestore -d mew -c audioQuestions_Joker dump/meteor
我已使用以下命令将转储文件夹递归复制到我的服务器
mongodump -h 127.0.0.1 --port 9001 -d meteor -c products
scp -r dump root@66.204.148.25:/root
docker exec -i mongodb mongorestore -d mew -c audioQuestions_Joker dump/meteor
我无法使用以下命令还原
mongodump -h 127.0.0.1 --port 9001 -d meteor -c products
scp -r dump root@66.204.148.25:/root
docker exec -i mongodb mongorestore -d mew -c audioQuestions_Joker dump/meteor
文件在那里,但我得到以下消息
2020-01-12T11:38:10.863+0000失败:mongorestore目标“dump/meteor”无效:stat dump/meteor:没有这样的文件或目录
从BSON文件恢复集合备份的正确命令是什么
仅供参考docker abernix/meteord:node-8.4.0-base
谢谢您需要拥有
sudo
特权
1修改MongoDB容器的docker compose.*
文件并添加新卷
假设你有这样的东西:
mongo:
image: mongo:4.2
container_name: mongodb
ports:
- 27017:27017
volumes:
- "./local/path:/data/db"
- "./local/tmp/path:/home"
restart: always
command: --auth
2您需要build
sudo docker-compose -f docker-compose.yml up -d
3在/local/tmp/path
中复制您的转储
文件夹,并检查MongoDB容器是否有权访问该文件夹
sudo docker ps
sudo docker exec -it mongodb_CONTAINER ID /bin/bash
# ls /home - If you see there dump folder, continue step 4
4现在,执行MongoDB恢复(您可以在MongoDB容器中执行)
5如果恢复成功,请再次更新docker compose并删除
-“/local/tmp/path:/home”
和build。这是因为docker在mongodb容器中搜索dump/meteor
,但我如何恢复主机上而非容器上的文件?