在Docker容器中的Cronjobs如何让他们运行?

我的debian docker容器中有一些cronjobs。 他们不会自动启动为什么?

我必须做一些解决方法吗?

如果您在docker中运行容器,则可以在docker主机上添加cron任务,以在docker容器中执行命令。

例如,要每隔5分钟在容器中运行“压力”应用程序,可以添加以下内容(当然,将容器IDreplace为您的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主机上以超级用户身份运行它。

或者只是运行cron:

 root@dockerhost:cron 

你从哪里开始cron? 在Dockerfile中 ? 在RUN这样做是行不通的,因为这个过程不会继续运行。 你需要这样做,例如通过CMD 。 更好的主意是使用suzpervisord 。

首先在docker容器中运行cron守护进程。 login容器时,在shell运行命令如下:

 cron 

那么就会定期开始工作。