在Docker容器中运行cron与从主机的cron运行Docker容器之间有什么权衡?
我在Docker容器中有一个批处理作业,我想每天早上8:30运行。 在决定采取什么措施时我应该考虑什么:
- 从主机的crontab运行容器。
- 保持容器运行,并在容器中设置cron来处理调度。
谢谢!
1的优点 :
- Cron通常始终在启动时启动,因此在主机重新启动时不必担心启动容器
- logging发生在您的主机上
- 更容易pipe理cron作业,因为他们在一个地方
缺点:
- 必须保持crontab和脚本的版本控制
2的优点 :
- 自包含
- 具有可版本化Docker文件的可重复容器
缺点:
- 必须在启动时启动容器,并确保它保持运行
- 每个容器都有它自己的日志,所以如果你使用中央日志服务器,这使得它变得复杂
- 容器需要在对cron作业进行任何更改时重build。