我的debian docker容器里有一些cronjobs。他们不会自动启动原因?
我是否需要做一些变通办法?
答案 0 :(得分:3)
首先在docker容器中运行cron守护程序。登录到容器时,在shell中运行以下命令:
cron
然后,工作将定期开始。
答案 1 :(得分:2)
答案 2 :(得分:2)
如果您在docker中运行容器,则可以在docker主机上添加cron任务,以便在docker容器中执行命令。
例如,运行'压力'在您的容器中每5分钟应用一次,您可以添加以下内容(当然用您的容器ID替换)到您的crontab:
*/5 * * * * docker exec c78ddbed4ad9 /bin/sh -c 'stress -d 1 --hdd-bytes 64M --cpu 1 --io 2 --vm 2 --vm-bytes 64M --timeout 60s' >> /tmp/cronstress.log 2>&1
我在docker主机上以root用户身份运行它。
或者只是运行cron:
root@dockerhost:cron
答案 3 :(得分:0)
cronjob没有在docker容器中启动logrotation。 我的cronjob如下:
30 9 * * *根/ usr / sbin / logrotate /etc/logrotate.d/apache2
我还在docker文件中添加了以下脚本作为ENTRYPOINT来启动cron。
/etc/init.d/cron start