2017-05-05 65 views
0

我有被分成多个Docker容器的应用程序:如何在具有多个Docker容器的设置中备份MongoDB?

  • 容器1包含MongoDB数据库
  • 容器2包含一个Python脚本这在MongoDB中进行每天的基础上的一些操作并存储该结果容器1使用pymongo。

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

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

在此先感谢您的任何建议!

+0

你如何触发容器2日脚本? – Matt

+0

既然是python脚本,我使用的时间表,我认为更比用户一个cronjob友好的小Python库。 – Flo1895

回答

0

可以泊坞窗2形式here上下载MongoDB的二进制文件。你可以摆脱the command is unknown

这样,你可以从MongoDB的使用mongoexportcontainer 1出口运行的MongoDB收集或使用--host--port选项从container 2采取使用mongodump转储。

注:mongoexport不会从收集出口指标。

相关问题