我是一名开发人员,需要系统管理员的建议。
我在 centos 上运行了 docker。nginx+mariadb+php7-fpm 3 个容器运行我的 laravel 应用程序。
我有两个无法理解的问题。
- 消息队列 -
php artisan queue:listen
- 调度程序 cron-
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
我该如何将这些服务docker化?
答案1
为了解决 laravel 的 docker 容器中的队列和 cron 问题,我想出了这个解决方案:https://github.com/wearede/larawell
Larawell 使用 phusion/baseimage,并有着在单个容器中运行多个逻辑服务的相同信念。
包括
MariaDB
Redis
Nginx
PHP7.0-Fpm
NodeJs
npm
schedule:run
queue:work
cron 默认运行,您可以检查 dockerfile 以查看其添加方式。并且队列作为初始化服务运行。