docker下计划任务crontab的使用方法

转载 2016年08月30日 16:24:33

今天聊下在docker怎么合理的使用crontab 。 

一直没有注意在docker如何使用crontab计划任务,我曾经已经不能用,所以用的是dockerfile定义的启动脚本,里面含有一个while的循环逻辑。 

Docker crontab的使用 , http://xiaorui.cc/?p=1875

下面是一个简单的Dockerfile文件

在启动的脚本里面实现crontab的逻辑。  

但是如果你的crontab多的话,就不好处理了,你要写不同的sleep sec ?   这个适用于比较少的计划任务,很是随意。 


后来因为我这开发了一个关于业务数据预警的服务,我在服务里面加入了crontab的逻辑。  这里用的是python下的crontab模块。

config.ini 的配置信息是这样的,跟系统的crontab格式是一样的。  执行的时候,一个任务一个线程,不会因为某个任务堵塞超时,造成其他的任务不能准时的执行。  

后来在StackOverflow看到有人说,docker下是支持crontab的。   特么的…….

编辑可用的crontab文件。 

vim crontab

*/1 * * * * root echo “Hello world” >> /var/log/cron.log 2>&1
*/1 * * * * root echo $(date) >> /var/log/cron.log 2>&1
*/1 * * * * root echo “1111″ >> /var/log/cron.log 2>&1
*/1 * * * * root echo $(date +\%T) >> /var/log/cron.log 2>&1

构建含有crontab的docker image镜像。 

sudo docker build –rm -t xiaorui.cc/docker-crontab .

启动这个容器。

sudo docker run -t -i xiaorui.cc/docker-crontab

过两分钟我们会看到,容器输出的日志.  

Hello world

Hello world

docker解决crontab无法生效的办法

在docker中默认使用centos镜像,在该镜像中没有安装crond,通过yum安装成功后,crontab没有生效。 解决办法: 修改/etc/pam.d/crond文件,将其中的required改...
  • weiguang1017
  • weiguang1017
  • 2016年12月01日 11:46
  • 3520

docker容器中crontab无法正常运行解决方案

相信很多人看完docker容器, 需要加crontab, 加完却发现不能执行,心塞.....接着便开始各种折腾... 首先当然是看日志了, 发现/var/log 下面没有任何信息, 那是因为你没有打...
  • u013091013
  • u013091013
  • 2017年04月28日 19:07
  • 1641

使用Docker实现丝般顺滑的持续集成

持续集成(Continuous Integration,简称CI)作为先进的项目实践之一,近年来逐渐受到国内软件公司的重视;但对于许多朋友来说,可能从未听说过持续集成这个词,抑或只是了解概念但并没有实...
  • gaowenhui2008
  • gaowenhui2008
  • 2016年07月08日 16:38
  • 6099

Docker持续部署图文详解

http://www.csdn.net/article/2015-07-21/2825266 摘要:关于Docker的文章铺天盖地,但精品文章往往翻译居多。都说Docker天生适合持续集成/持续部署...
  • chengly0129
  • chengly0129
  • 2017年04月20日 15:29
  • 267

docker 内cron建立定时任务完成nginx 日志轮询切割

docker container 通过crontab 建立定时任务,完成nginx的轮询切割。解决docker内自定义任务无法执行问题。...
  • blog_liuliang
  • blog_liuliang
  • 2016年09月28日 14:53
  • 2082

在alpine linux构建的docker中使用crontab执行定时任务

最近使用使用docker部署程序时,发现基于alpine的docker里面crond命令都不能正确执行,同事建议使用两个docker后link起来读取,个人感觉还是比较占用资源,经过一番google,...
  • bigheadsnake
  • bigheadsnake
  • 2017年10月30日 14:17
  • 220

docker镜像中的定时任务

crond作为linux定时任务的服务提供者,基本上linux上都会将此服务启动起来.但是在docker镜像中就未必如此了。很多时候镜像中没有crond服务,如果又不太方便安装,或者统一的镜像不太好为...
  • liumiaocn
  • liumiaocn
  • 2017年07月02日 16:37
  • 1341

如何避免Docker容器启动脚本运行后自动退出——一个cron定时任务docker镜像方案

近期想做一个cron定时任务的docker,在Dockerfile中做如下定义 FROM library/alpine:latest RUN apk --update add rsync openss...
  • jiangh_catr
  • jiangh_catr
  • 2016年10月10日 22:54
  • 7424

在Docker中运行crontab

在把自己的项目通过Docker进行打包时,由于项目中用到了crontab,不过使用到的基础镜像python:3.6-slim并没有安装这项服务,记录下在镜像中安装和配置crontab的过程。 D...
  • wanghaoxi3000
  • wanghaoxi3000
  • 2018年01月04日 22:26
  • 21

PAM-常用的Linux可插拔认证模块(PAM)应用举例(一)

http://www.infoq.com/cn/articles/linux-pam-two 上一篇文章《Linux可插拔认证模块(PAM)的配置文件、工作原理与流程》我们介绍了常用的L...
  • zhgn2
  • zhgn2
  • 2012年05月03日 14:26
  • 3304
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:docker下计划任务crontab的使用方法
举报原因:
原因补充:

(最多只允许输入30个字)