【发布时间】: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 库。