由于 mongodb 位于 docker 容器内,我如何将 restore mongodb 与 MupX 一起使用?

How can I use restore mongodb with MupX since mongodb is inside docker container?

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

设置并安装应用程序后 运行,如何恢复 mongodump?我正在使用 mupx,当我通过 ssh 进入服务器时,我看到 mongodb 在 docker 容器内。

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

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

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

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

当您 运行 docker 容器时,您可以将 /data 文件夹装载到 docker 容器中。

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

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

我知道怎么做了。以下是分步说明。

这是说明

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