Bas*_*erg 5 cron best-practices docker
我正在寻找有关为我的 php fpm 容器运行 cronjobs 的最佳实践。
现在运行:
我现在希望运行另一个名为“Cronjob Container”的容器,它在我的 PHP FPM 容器中执行脚本(我需要一些 PHP 依赖项)。
所以三种可能的解决方案:
1.) 运行自己的容器
我很想使用这个解决方案!
最好有一个运行 CRON 的容器,我可以(以某种方式)在我的 php fpm 容器上调用 docker exec ......或者有另一种方式。
2.) 在 PHP 容器内运行 CRON
这没问题,但不是最佳实践。我可以在运行 cron 的 php fpm 容器中启动第二个进程。这会起作用,但我不确定这是否是您应该与 docker 一起工作的人。
3.) 运行主机 Cron
这将是残酷的。我需要找到给定路径的 processID 和 containerID,然后运行 docker exec。但这或多或少是我最后的方式......而且我讨厌在没有部署的情况下管理 cronjobs。
那么这里最好的方法是什么?
祝你今天过得愉快,
巴斯蒂安
我编写了一个守护进程,用于观察容器并在容器上安排在其元数据中定义的作业。这最接近您的 1) 解决方案。例子:
version: '2'
services:
wordpress:
image: wordpress
mysql:
image: mariadb
volumes:
- ./database_dumps:/dumps
labels:
deck-chores.dump.command: sh -c "mysqldump --all-databases > /dumps/dump-$$(date -Idate)"
deck-chores.dump.interval: daily
Run Code Online (Sandbox Code Playgroud)
“经典”、类似 cron 的配置也是可能的。