gpt4 book ai didi

mongodb - 将Docker Mongo容器与所有数据一起保存并导出

转载 作者:行者123 更新时间:2023-12-02 18:54:06 25 4
gpt4 key购买 nike

我已经创建了一个带有Mongo容器的docker镜像。

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

我希望能够导出其中的所有数据(例如tar文件),并导入到另一台docker-machine而不丢失任何数据。

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

保存功能齐全的容器并将其导入另一个docker-machine的最佳方法是什么?

最佳答案

导出容器:

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

这会将您的容器导出到container.tar,可以使用以下命令将其导入另一台计算机上:
docker import container.tar <container-name>.

但是,如 docker export docs所述:

The docker export command does not export the contents of volumes associated with the container. If a volume is mounted on top of an existing directory in the container, docker export will export the contents of the underlying directory, not the contents of the volume.



现在mongo将 /data/db/data/configdb公开为卷。因此,它们将不会与tar球一起输出。因此,数据和配置将不在tar中:(
VOLUME /data/db /data/configdb

您需要执行以下操作之一才能获取此数据:
  • How to port data-only volumes from one host to another?
  • 手动将这些文件夹表格复制到容器中,然后从tar导入时将它们复制回到新容器中。

    docker cp:/数据/数据库./数据
    docker cp:/ data / configdb ./config

  • 将这些文件夹复制到新的主机,然后导入涂油的容器,最后将这些文件夹复制回容器
    docker cp data/* <new-container>:/data/db
    docker cp config/* <new-container>:/data/configdb

    关于mongodb - 将Docker Mongo容器与所有数据一起保存并导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536885/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com