这是我的Dockerfile:

ADD crontab /root/
RUN touch /var/log/cron.log
RUN crontab /root/crontab
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ENTRYPOINT ["/usr/bin/supervisord"]

crontab文件:
* * * * * echo "Hi" >> /var/log/cron.log 2>&1
#

受监管文件:
[program:cron]
command=/usr/sbin/cron -f
autostart=true
autorestart=true
stdout_logfile=/var/log/cron.log
stderr_logfile=/var/log/cron.log

图片信息:
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

主机操作系统:
Windows 10

我尝试了很多关于Stackoverflow的答案,但是都没有用,任何帮助都值得赞赏

最佳答案

我替换了这一行:

ADD crontab /root/

用这一行:
RUN printf '* * * * * echo "Hi" >> /var/log/cron.log 2>&1\n#' >> /root/crontab

从Windows复制到linux env时,这是权限问题,即使我为crontab文件anw添加了0644权限,希望它对某人有帮助,但我在此问题上花费了数小时

关于docker - docker 监督的cron作业不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51315909/

10-16 13:49