【问题标题】:How to backup MongoDB in a setup with multiple Docker containers?如何在具有多个 Docker 容器的设置中备份 MongoDB?
【发布时间】:2017-05-05 22:59:08
【问题描述】:

我有一个应用程序被拆分成多个 Docker 容器:

  • 容器 1 包含一个 MongoDB 数据库
  • 容器 2 包含一个 python 脚本,该脚本每天执行一些操作,并使用 pymongo 将结果存储在容器 1 的 MongoDB 中。

在使用 Docker 之前,即在同一台机器上拥有 MongoDB 和 python 应用程序,我可以在日常脚本完成后立即使用 mongoexport 来备份我的数据库。但是,在 Docker 设置中,我无法在 Container 2 中使用 mongoexport,因为没有安装 MongoDB,即命令未知。

在我看来,唯一的选择是使用容器 1 中的 cronjob 运行脚本,该脚本在预设时间执行备份。 但是,我更喜欢 Container 2 触发备份的解决方案,因为日常脚本的运行时间可能会有很大差异。

提前感谢您的任何建议!

【问题讨论】:

  • 容器2的日常脚本如何触发?
  • 因为它是一个 python 脚本,所以我使用 schedule,一个我认为比 Cronjob 更用户友好的小型 python 库。

标签: python mongodb docker


【解决方案1】:

您可以在 docker 2 表单 here 上下载 mongodb 二进制文件。这样你就可以摆脱the command is unknown

您可以使用mongoexportcontainer 1 上运行的mongodb 导出mongodb 集合,或者使用container 2 中的mongodump 使用--host--port 选项进行转储。

注意:mongoexport 不会从集合中导出索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2023-03-04
    • 2016-10-21
    • 1970-01-01
    • 2013-03-20
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多