不应该在docker镜像中运行特定的cron-jobs吗?

时间:2016-08-31 05:00:03

标签: apache docker cron

Best practices for running Docker指南中说明,每个docker容器应该只运行一个进程。在Ubuntu中,有一些与apache-httpd相关的cron-jobs每天运行(位于/etc/cron.daily/apache2)。

当使用官方存储库中的apache-docker-image(看here)时,这些cronjobs没有运行,只启动了httpd进程,cron没有运行。

不应该执行上述的cron-jobs吗? 我很难弄明白,如何从另一个docker-image执行这个cron-jobs,如" Best-practices-guide"因为" cron-docker-image"应该有权访问apache-process以正确运行cron-jobs。

1 个答案:

答案 0 :(得分:0)

对于基本的apache,没有可以运行的cron作业。

如果您要运行cron作业,则没有“正确答案”。

如果它们每天运行并且只运行一段时间,那么你当然可以安排那些运行而不是使用cron。

如果他们定期运行或者你没有可以处理它的调度程序(比如AWS lambda)那么让你的网络服务器作为cron运行它们并不是最佳做法,你只需要建立自己的容器apache来处理它。

如果您的真正问题是“如何运行cron作业”,那么快速谷歌会带来:

https://github.com/aptible/docker-cron-example

https://hub.docker.com/r/hamiltont/docker-cron/

https://getcarina.com/docs/tutorials/schedule-tasks-cron/

您只需修改那些在&nohup

后台运行的内容

你有什么尝试?