我有一个基于ubuntu的dockerfile映像。 Iam试图每天运行bash脚本,但cron从未运行。当容器运行时,我检查cron是否正在运行。 bash脚本可以完美运行,并且crontab命令可以很好地复制到容器内。我似乎找不到问题的根源。
这是Dockerfile:
FROM snipe/snipe-it:latest
ENV TZ=America/Toronto
RUN apt-get update \
&& apt-get install awscli -y \
&& apt-get clean \
&& apt-get install cron -y \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /var/www/html/backups_scripts /var/www/html/config/scripts
COPY config/crontab.txt /var/www/html/backups_scripts
RUN /usr/bin/crontab /var/www/html/backups_scripts/crontab.txt
COPY config/scripts/backups.sh /var/www/html/config/scripts
CMD ["cron","-f"]
最后一条命令CMD不起作用。并且,一旦我删除了cmd命令,当我检查容器内的cron任务时,就会收到此消息:
root@fcfb6052274a:/var/www/html# /etc/init.d/cron status
* cron is not running
即使我在crontab之前启动了cron进程,crontab仍然没有启动
我该如何解决这个问题???谢谢
答案 0 :(得分:0)
您正在crontab
语句中运行RUN
。但这仅在图像创建期间运行,而不是在您实际使用生成的图像时运行。