在Docker上运行cronjobs时应该使用docker exec吗?

时间:2019-10-18 20:21:42

标签: php docker cron

我想在一个容器中运行php-fpm,在另一个容器中运行cron。我对为cron创建容器的方法感到怀疑。

此刻,我只是为php-fpm复制了Dockerfile,并对其末尾做了一些修改-安装了cron并添加了CMD ["cron", "-f"]

这可行,但是不是很干,因为复制php-fpm的Dockerfile时我重复了很多代码。如果我的某些依赖项发生了变化(例如,我需要安装新的php扩展名),则必须在两个Dockerfile中进行操作,而不仅仅是一个。

最近我看到有些人使用“来自另一个容器的docker exec”方法来解决此问题。这意味着他们的cron容器基于docker映像,并且他们使用docker exec在另一个容器中运行命令。那是DRY,但是,我经常听到人们说,出于某种原因,在docker-in-docker中运行不是很优雅,并且通常仅用于解决方法。

这里的最佳做法是什么?保持Dockerfile处于非干燥状态,还是使用docker-in-docker方法?

0 个答案:

没有答案