问题: 对于一些 php 的脚本, 之前在宿主机上使用 crontab 来周期性执行, 如果改成了 docker 容器, 这些脚本该如何处理, 毕竟 php 解释器在容器里面了.
有没有什么好的方式处理呢?
举报· 84 次点击
登录 注册 站外分享
7 条回复  
chenhua19940128 小成 2024-9-6 16:34:09
一样的,在宿主机上使用 crontab ,然后通过 docker exec 来执行 docker 里的命令行
brader 小成 2024-9-6 16:37:28
有,使用 ofelia 秒级定时器,可替代 crontab ,能和 docker 容器更方便的交互,https://github.com/mcuadros/ofelia

还可以参考我的 docker 项目 https://github.com/wenshunbiao/docker/tree/master/ofelia ,看我是如何使用它的
pota 小成 2024-9-6 17:33:24

请教一个问题, 有个小型的项目使用 LNAP 架构, 语言是 PHP , 打算使用 docker 容器来构建这套 LNAP 环境

我现在线上方案用了两种,一种是单开一个容器来跑定时任务。一种是宿主机 exec 进行调用。不过考虑到稳定。目前都用单独容器来处理了
thank4 小成 2024-9-6 17:46:19

请教一个问题, 有个小型的项目使用 LNAP 架构, 语言是 PHP , 打算使用 docker 容器来构建这套 LNAP 环境

@pota 这样是不是 php 的代码需要用容器卷挂载到目录啊?
concernedz 小成 2024-9-6 17:47:32

请教一个问题, 有个小型的项目使用 LNAP 架构, 语言是 PHP , 打算使用 docker 容器来构建这套 LNAP 环境

1panel 部署就是用 docker exec 的方法
ety001 小成 2024-9-6 21:59:47

请教一个问题, 有个小型的项目使用 LNAP 架构, 语言是 PHP , 打算使用 docker 容器来构建这套 LNAP 环境

除了上面提到的在宿主机的方案,还可以在容器内安装 supervisor ,crontab ,把 supervisor 作为容器的运行程序,然后 php 和 crontab 两个服务都由 supervisor 来管理。这个方案的优势在于 crontab 的配置是跟 docker 镜像下发的,不需要额外再登陆宿主机进行额外配置。
ysc3839 小成 2024-9-7 02:35:58

请教一个问题, 有个小型的项目使用 LNAP 架构, 语言是 PHP , 打算使用 docker 容器来构建这套 LNAP 环境

用 busybox crond 不就好了?
https://gist.github.com/andyshinn/3ae01fa13cb64c9d36e7
返回顶部