如何在Docker容器中运行Cron作业

发布于 2021-02-01 17:52:41

我试图在docker容器中运行cron作业

但对我没有用

我的容器只有cron.daily和cron.weekly文件

crontab,cron.d,cron.hourly …在我的容器中不存在

crontab -e也无法正常工作

我的容器使用/ bin / bash运行

关注者
0
被浏览
187
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    这是我运行我的cron容器之一的方法。

    Dockerfile:

    FROM alpine:3.3
    
    ADD crontab.txt /crontab.txt
    ADD script.sh /script.sh
    COPY entry.sh /entry.sh
    RUN chmod 755 /script.sh /entry.sh
    RUN /usr/bin/crontab /crontab.txt
    
    CMD ["/entry.sh"]
    

    crontab.txt

    */30 * * * * /script.sh >> /var/log/script.log
    

    entry.sh

    #!/bin/sh
    
    # start cron
    /usr/sbin/crond -f -l 8
    

    script.sh

    #!/bin/sh
    
    # code goes here.
    echo "This is a script, run by cron!"
    

    像这样构建

    docker build -t mycron .
    

    像这样跑

    docker run -d mycron
    

    添加您自己的脚本并编辑crontab.txt,然后构建映像并运行。由于它基于高山,因此图像非常小。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看