我被卡住了,需要帮助。我在 docker cloud 上设置了多个堆栈。堆栈运行多个容器,如数据、mysql、web、elasticsearch 等。
现在我需要在 Web 容器上运行命令。在 docker 之前,我使用 cronjob 执行此操作,例如:
*/10 * * * * php /var/www/public/index.php run my job
但我的网络 Dockerfile 以
CMD ["apache2-foreground"]
据我了解,在一个容器上运行两个命令的 docker 概念是不好的做法。但是我将如何安排像上面的一个 cronjob 这样的工作呢?
我也应该在 CMD 中启动 cron 吗?
CMD ["cron", "apache2-foreground"] ( should exit with 0 before apache starts)
我应该制作一个运行这两个命令的启动脚本吗?
在我看来,最聪明的解决方案是创建另一个服务,例如 dockercloud haproxy 服务,其中链接了其他服务。
然后 cron 服务将执行在链接容器/堆栈的堆栈文件中定义的命令。
谢谢你的帮助