这是我的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
#
supervisord文件:
[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的答案,但是都没有成功,感谢您的帮助
答案 0 :(得分:1)
我替换了这一行:
ADD crontab /root/
有这行:
RUN printf '* * * * * echo "Hi" >> /var/log/cron.log 2>&1\n#' >> /root/crontab
从Windows复制到linux env时,这是权限问题,即使我为crontab文件anw添加了0644
权限,希望它对某人有帮助,我花了数小时在这件事上