在Docker容器中运行cron与从主机cron运行Docker容器之间的权衡是什么?

问题描述:

我在一个Docker容器中有一个批处理作业,我想在每天早上8:30运行。在决定采取以下哪一项时应该考虑:在Docker容器中运行cron与从主机cron运行Docker容器之间的权衡是什么?

  1. 从主机的crontab运行容器。
  2. 让容器继续运行,并在容器中设置cron以处理调度。

谢谢!

优势1

  • 的Cron平时总是开始于启动,所以你不必担心当主机重新启动你的主机上发生
  • 记录启动你的容器
  • 更容易管理cron作业,因为他们在一个地方

缺点:

  • 必须保持在crontab的版本和脚本

优势2

  • 自给
  • 与多版本Dockerfiles重现容器

缺点:

  • 不得不启动时自动打开的容器,并确保它保持运行
  • 每个集装箱都有它自己的日志,所以如果你使用了*日志服务器这使得复杂
  • 的容器需要在对cron作业进行任何更改时重新构建。