一尘不染

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

linux

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

但对我没有用

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

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

crontab -e也无法正常工作

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


阅读 523

收藏
2020-06-03

共1个答案

一尘不染

这是我运行我的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,然后构建映像并运行。由于它基于高山,因此图像非常小。

2020-06-03