Docker容器crontab未运行

时间:2019-10-27 20:24:42

标签: linux docker ubuntu dockerfile

我有一个基于ubuntu的dockerfile映像。 Iam试图每天运行bash脚本,但cron从未运行。当容器运行时,我检查cron是否正在运行。 bash脚本可以完美运行,并且crontab命令可以很好地复制到容器内。我似乎找不到问题的根源。

这是Dockerfile:

FROM snipe/snipe-it:latest

ENV TZ=America/Toronto

RUN apt-get update \
    && apt-get install awscli -y \
    && apt-get clean \
    && apt-get install cron -y \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir /var/www/html/backups_scripts /var/www/html/config/scripts

COPY config/crontab.txt /var/www/html/backups_scripts
RUN /usr/bin/crontab /var/www/html/backups_scripts/crontab.txt

COPY config/scripts/backups.sh /var/www/html/config/scripts

CMD ["cron","-f"]

最后一条命令CMD不起作用。并且,一旦我删除了cmd命令,当我检查容器内的cron任务时,就会收到此消息:

root@fcfb6052274a:/var/www/html# /etc/init.d/cron status
 * cron is not running

即使我在crontab之前启动了cron进程,crontab仍然没有启动

我该如何解决这个问题???谢谢

1 个答案:

答案 0 :(得分:0)

您正在crontab语句中运行RUN。但这仅在图像创建期间运行,而不是在您实际使用生成的图像时运行。