docker容器中的laravel队列服务

docker容器中的laravel队列服务,laravel,docker,Laravel,Docker,我有3个docker容器,php7nginx和mariadb每个都是链接起来的,并提供简单的wordpress站点 我想在这群人中加入拉威尔项目。除了我需要运行的laravel服务(例如,队列侦听器和调度程序cron)之外,所有这些都非常有效。你建议如何处理这些问题? 你可能想考虑使用DOCKER COMPORE来协调多个容器。例如,您将拥有一个Docker Compose文件,该文件声明了Docker网络,以及三个容器: 消息队列 Cron计划任务 Laravel应用程序+PHP+Web服务器

我有3个docker容器,php7nginx和mariadb每个都是链接起来的,并提供简单的wordpress站点


我想在这群人中加入拉威尔项目。除了我需要运行的laravel服务(例如,队列侦听器和调度程序cron)之外,所有这些都非常有效。你建议如何处理这些问题?

你可能想考虑使用DOCKER COMPORE来协调多个容器。例如,您将拥有一个Docker Compose文件,该文件声明了Docker网络,以及三个容器:

  • 消息队列
  • Cron计划任务
  • Laravel应用程序+PHP+Web服务器
  • 只要将每个容器添加到同一网络中,它们就能够相互通信。使用Docker Compose的另一个好处是缩放容器更容易


    以下是Docker Compose YAML文件的参考文档:

    我使用Docker Compose,我的问题更多的是关于结构。直接从主机运行cron和queue服务可能更简单。我建议不要直接在主机上运行该服务,否则就无法使用Docker进行部署,并且必须对主机代码进行单独的部署。特别是对于Laravel,由于代码在多个用途(队列、调度程序、应用程序)上是相同的,所以我通过Environment运行一个带有容器角色的自定义启动脚本。查看这个答案了解更多细节我在这里回答了一个类似的问题