Cron作业不能在Docker容器内自动运行

Kos*_*ris 4 linux cron docker

我有一个带监督员的LAMP容器.

我添加一个简单的cron

* * * * * root /bin/date >> /var/log/cron.log

来自我的Dockerfile

ADD ./crons/test /etc/cron.d/test RUN chmod 0777 /etc/cron.d/test

我通过主管启动cron,supervisor-cron.conf如下所示:

[program:cron]
command=/bin/bash -c "cron -f"
numprocs=1
autostart=true
autorestart=true
startretries=2
Run Code Online (Sandbox Code Playgroud)

Cron开始很好并且保持正常运行.奇怪的是没有cronjob自动运行[应该如此]但是当我执行docker exec lamp crontab /etc/cron.d/testcron作业时启动并按预期工作.

我错过了什么吗?在任何地方我都读到cron作业是由cron自动执行的.

Kos*_*ris 7

我解决了

我尝试在/ etc/crontab和/etc/cron.d/中设置它们.

Cron没有自动启动cron工作.

但是,当我跑的docker exec lamp crontab /etc/cron.d/my_cronjob_file都打得很好.这让我很怀疑,然后我读到了这个.所以,在容器[在dockerfile]中添加my_cronjob_file后,我添加了RUN crontab /etc/cron.d/my_cronjob_file.这基本上将cronjob'安装'到crontab表.[我不知道cron/tab的内部,但这是我理解的主旨.]

之后,cron服务由主管提出,而cronjob就像魅力一样.