我已经用蒙哥的容器创建了一个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
为了获取此数据,您需要做的是以下内容之一:
如何将仅数据量从一个主机移到另一个主机?
手动复制这些文件夹在容器内部形成,然后从焦油导入时将它们复制回新容器。
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不能保存容器,只能保存图像。为了保存容器数据,您需要从订员容器