将Docker Mongo容器保存使用所有数据并导出它



我已经用蒙哥的容器创建了一个docker映像。

我的数据库充满了数据,最多35 GB。

我希望能够将其带入内部所有数据,并导入到另一个Docker-Machine而不会丢失任何数据。

使用Docker保存时,我找不到有关保存数据的法规的任何信息...

保存完整的容器并将其导入另一个Docker-sachine的最佳方法是什么?

导出一个容器:

docker export --output="container.tar" <container-name>

这将使您的容器将容器导出到container.tar。

docker import container.tar <container-name>.

但是,,如Docker导出文档中所述:

docker导出命令不导出卷的内容 与容器相关联。如果一个音量安装在 容器中的现有目录,Docker导出将导出 基础目录的内容,而不是卷的内容。

现在,mongo将/data/db/data/configdb视为卷。因此,他们不会被焦油球导出。因此,数据和配置不会在焦油中:(

VOLUME /data/db /data/configdb

为了获取此数据,您需要做的是以下内容之一:

  1. 如何将仅数据量从一个主机移到另一个主机?

  2. 手动复制这些文件夹在容器内部形成,然后从焦油导入时将它们复制回新容器。

    docker cp:/data/db ./dataDocker cp:/data/configdb ./config

将这些文件夹复制到新主机,然后导入Tarred容器,最后将这些文件夹复制到容器中

docker cp data/* <new-container>:/data/db
docker cp config/* <new-container>:/data/configdb

要查看docker保存的状态,您需要使用 - 输出ex:。Docker保存 - 输出Imagename> Imagename.tar。u不能保存容器,只能保存图像。为了保存容器数据,您需要从订员容器

提交n启动n

最新更新