Dockerfile中配置crontab

首先生成需要使用的crontab的配置文件,

注意最后一行必须为空行!必须为空行!必须为空行!

# vi crontabfile.txt 文件名自己定即可
*/1 * * * * /new_fund.php >/dev/null 2>&1
*/5 * * * * /fund.php >/dev/null 2>&1
0 */1 * * * /default.php >/dev/null 2>&1

Dockerfile中命令:

# set up crontab
COPY config/crontabfile.txt crontabfile.txt
RUN crontab crontabfile.txt

安装crontab

apt-get install cron

yum install cron

apk add cron

Crontab不执行的问题

默认容器中是每日有crontab的,如果要需要自己安装,但是,安装后也不是万事大吉,因为cron是后安装的,并不会执行,作为容器的特点来说,cron的执行最好是在entrypoint的脚本中做,这样可以保证每次容器启动的时候,脚本都会执行。

另外注意给脚本可执行的权限,最好也放在entrypoint的脚本中……

# 参考

RUN apt-get install -y cron

RUN crontab crontab-file.txt

CMD cron

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据