这是我的 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"]
定时任务文件:
* * * * * 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 文件添加了 0644
权限,希望它能帮助别人,我在这件事上花了几个小时
关于docker supervisord cron 工作不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51315909/