在 Docker 容器内 - crond 正在运行,但没有执行 cronjobs

在 Docker 容器内 - crond 正在运行,但没有执行 cronjobs

我已经基于 Archlinux 基础映像从 Dockerfile 构建了一个容器。使用“RUN”命令,我安装了“cronie”,因为 Arch 不附带任何形式的 cron。现在,在构建容器后,我运行它并附加到它。我手动启动 cron 守护程序,使用“ps -aux”验证它确实在运行,并使用“crontab -e”创建所需的 cronjobs。问题是,没有运行任何 cronjobs...

有任何想法吗?

答案1

您可以使用 fcron 包,并以前台模式运行 cron 进程:

fcron -f

答案2

要排除 Cron 故障,运行系统日志在 Docker 容器中。
作为描述在这里Cron 可能会拒绝解释其硬链接的配置文件,这是 Docker 分层上的典型情况覆盖(fs)文件系统。如果 Cron 记录了类似NUMBER OF HARD LINKS > 1 (/etc/crontab)以下内容的内容系统日志在容器的入口脚本中使用以下命令可能会有所帮助:

touch /etc/crontab /etc/cron.*/*

相关内容