我如何使用MupX恢复mongodb,因为mongodb在docker容器内?

时间:2016-01-03 07:35:11

标签: mongodb meteor deployment

我使用mongodump来备份我的数据库,因为我想将它从compose.io托管到使用mupx在服务器本身托管本地。

一旦我设置了应用程序并让它运行,我该如何恢复mongodump?我正在使用mupx,当我进入服务器时,我看到mongodb在docker容器内。

使用mongorestore需要执行哪些步骤,因为我可以将mongodump文件从本地pc复制到服务器。

1)使用scp命令将mongodump文件夹从本地pc复制到服务器 2)SSH进入服务器

此时我登录到服务器并且与dump文件夹位于同一目录中。 Mongodb在docker里面运行。如何使用mongorestore将mongodb恢复到转储文件夹中的数据?

2 个答案:

答案 0 :(得分:5)

我想出了怎么做。这是一步一步的说明。

以下是说明

1)将转储文件夹复制到服务器

scp -r /local_path/to/dump_folder root@111.222.33.4:/remote/path

2)SSH到服务器

ssh root@111.222.33.4

3)从服务器的根目录复制到docker容器内部

docker cp dump_folder mongodb:/dump_folder

4)进入mongodb docker容器

docker exec -it mongodb bash

5)检查复制的文件夹是否存在

ls (you should see dump_folder, if you named it the same folder as in this example)

6)使用mongorestore

mongorestore --drop -d AppName dump_folder

答案 1 :(得分:0)

例如:您将mongo转储文件复制到服务器的/ data文件夹。

在运行docker容器时,可以将/ data文件夹挂载到docker容器中。

docker run -v /data:/var/lib/mongodb -p 27017 .... 

之后,您可以访问docker容器内部并转到/ var / lib / mongodb。您可以使用:ls命令在此处查看mongo转储文件。 在这里,您可以使用mongorestore来恢复mongo数据。