我有一个<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
泊坞窗图像,我想在其中安排一个python脚本来执行每一分钟。我的Ubuntu 14.04
包含DockerFile
以启动cron守护程序。 crontab条目如下所示:
CMD ["cron","-f"]
0,1 * * * * root python /opt/com.org.project/main.py >> /opt/com.org.project/var/log/cron.log
完全可由/opt/com.org.project/main.py
访问并拥有,并设置了root
个权限;所以可以执行。
我的744
文件和/opt/com.org.project/var/log/cron.log
中都没有显示任何内容。但是/var/log/cron.log
显示ps aux | grep cron
在cron -f
处运行。
我错过了什么?为什么我的cron作业没有在容器内运行?
以下是我要求的PID 1
内容:
DockerFile
答案 0 :(得分:4)
为什么要使用cron?只需编写一个这样的shell脚本:
#!/bin/bash
while true; do
python /opt/com.org.project/main.py >> /opt/com.org.project/var/log/cron.log
sleep 60
done
然后将其设置为入口点。
ENTRYPOINT ["/bin/bash", "/loop_main.sh" ]
答案 1 :(得分:3)
您在哪里使用crontab -e
?在主机上运行docker还是在容器本身?
我看不到您在所提供的dockerfile中添加了crontab条目。我建议你添加一个外部crontab文件,如下所示:
ADD crontabfile /app/crontab
RUN crontab /app/crontab
CMD ["cron", "-f"]
文件crontabfile
必须位于Dockerfile
旁边。
image_folder
|
|- Dockerfile
|- crontabfile
crontabfile
的示例内容:
# m h dom mon dow command
30 4 * * * /app/myscript.py