这是我的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/