如何在具有多个Docker容器的设置中备份MongoDB?

时间:2017-05-05 22:59:09

标签: python mongodb docker

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

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

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

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

提前感谢任何建议!

1 个答案:

答案 0 :(得分:0)

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

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

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