如何在docker中运行cronjob,以及如何查看结果?

时间:2015-10-08 08:51:25

标签: cron docker crontab dockerfile supervisor

目前,我尝试在我的容器Docker中运行cronjob,但是我没有看到结果。 我的Dockerfile看起来像这样:

# Pull base image.
FROM ubuntu

# Upgrade system
RUN apt-get update && apt-get dist-upgrade -y --no-install-recommends

# INSTALL GIT
RUN apt-get install -y git-core

# INSTALL mysql-client
RUN apt-get install -y mysql-client

#INSTALL CRON
RUN apt-get install cron

# INSTALL NANO
RUN apt-get install -y nano

# INSTALL SUPERVISOR
RUN apt-get install -y supervisor

ADD /supervisor/supervisor_watch_.conf /etc/supervisor/conf.d/watch_.conf

# Add these lines to your own Dockerfile
ADD /script/crontab /etc/crontab
ADD /script/start-cron.sh /usr/bin/start-cron.sh
RUN touch /var/log/cron.log

#ADD scrapyTor scrapy
CMD /usr/bin/supervisord -n

我的supervisor_watch_.conf看起来像那样:

[program:cron]
command=cron -f -L 15
autostart=true
autorestart=true
startretries=0
stderr_logfile=/tmp/start_spider.err.log

[program:tor]
command=/usr/bin/tor
#command=/tmp/mytor.sh
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/tmp/start_spider.out.log

和我的crontab,就是这样:

* * * * * root echo "toto" >> /var/log/cron.log 2>&1

构建我的图像(docker build -t toto)并运行我的容器(docker run -d toto)之后,当我想用​​此命令(docker exec -it ID)查看容器内的结果时,我看到/var/log/cron.log中的任何内容......

怎么样,我能解决这个问题吗?

提前感谢。

0 个答案:

没有答案