Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker容器中的Cronjobs如何运行它们?_Cron_Docker_Debian_Crontab - Fatal编程技术网

Docker容器中的Cronjobs如何运行它们?

Docker容器中的Cronjobs如何运行它们?,cron,docker,debian,crontab,Cron,Docker,Debian,Crontab,我的debian docker容器中有一些cronjobs。它们不会自动启动为什么 我需要做一些变通吗 你从哪里开始使用cron的?在Dockerfile中?在运行中执行此操作将不起作用,因为该进程将无法继续运行。您需要这样做,例如通过CMD。更好的方法是使用。如果您在docker中运行容器,则可以在docker主机上添加cron任务以执行docker容器中的命令 例如,要在容器中每5分钟运行一次“压力”应用程序,可以将以下内容(当然替换容器ID)添加到crontab中: */5 * * * *

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


我需要做一些变通吗

你从哪里开始使用cron的?在Dockerfile中?在
运行
中执行此操作将不起作用,因为该进程将无法继续运行。您需要这样做,例如通过
CMD
。更好的方法是使用。

如果您在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

首先在docker容器中运行cron守护程序。登录到容器时,在shell中运行以下命令:

cron

然后作业将定期启动。

cronjob没有在docker容器中启动logrotation。 我的工作如下:

30 9***root/usr/sbin/logrotate/etc/logrotate.d/apache2

我还在docker文件中添加了下面的脚本作为入口点来启动cron

!/bin/bash
/etc/init.d/cron start

您是否在容器中运行cron?是的,我这样做了:/etc/init.d/cron start没有docker文件。我已经通过ssh连接到服务器并运行
/etc/init.d/cron start
…没有docker文件。我已经通过ssh连接到服务器并运行/etc/init.d/cron startOkay,但是这些cronjob是从rails应用程序生成的,难道没有办法在容器中运行它们吗?或者只运行cron:root@dockerhost:来自主机的cron?如何设置?cron语句中缺少用户。代码应该是:**/5****用户名docker exec c78ddbed4ad9/bin/sh。。。等等。我得到了这个错误:cron:cannotlock/var/run/crond.pid,otherpid可能是14782:Resource暂时不可用它意味着cron已经在运行。所以我的解决方案对你没有帮助。您确定作业没有启动吗?你能试试简单的smth吗,比如
*/1****echo“testmessage”>/tmp/crontestfile
?是的,我肯定我应该收到邮件,在我的日志文件中应该留下一些东西这是答案还是你在分享观察结果?