保存docker Mongo容器中的所有数据并导出
我创build了一个Mongo容器的docker图像。
我的数据库中充满了高达35 GB的数据。
我想能够导出它(例如tar文件)与所有的数据里面,并导入到另一个docker机,而不会丢失任何数据。
当使用docker保存时,我找不到有关保存数据的法规的任何信息…
什么是最好的方法来保存一个完整的函数容器,并将其导入到另一个docker机器?
要查看docker保存的状态,需要使用–output ex :. docker保存 – 输出imagename> imagename.tar。 你不能保存容器只能保存图像。 为了保存容器数据,你需要提交从提交的容器启动
导出容器:
docker export --output="container.tar" <container-name>
这会将您的容器导出到container.tar,可以使用以下命令将其导入到另一台机器上:
docker import container.tar <container-name>.
但是 ,正如在docker出口文件中所述 :
docker export命令不会导出与容器关联的卷的内容。 如果将卷安装在容器中的现有目录之上,则docker export将导出基础目录的内容,而不是卷的内容。
现在mongo将/data/db
和/data/configdb
为卷。 因此他们不会用焦油球出口。 因此,数据和configuration将不会在焦油:(
VOLUME /data/db /data/configdb
为了获得这些数据,你需要做的是:
-
如何将只有数据的卷从一台主机移植到另一台主机?
-
手动将这些文件夹forms复制到容器中,并在从tar导入时将其复制回新容器。
docker cp:/ data / db ./data docker cp:/ data / configdb ./config
将这些文件夹复制到新主机,然后导入焦油容器,最后将这些文件夹复制回容器中
docker cp data/* <new-container>:/data/db docker cp config/* <new-container>:/data/configdb