【问题标题】:docker supervisor symfony commanddocker supervisor symfony 命令
【发布时间】:2019-08-11 08:26:41
【问题描述】:

我想通过主管控制 php 进程(symfony 命令)。 Symfony 命令在 php-fpm docker 容器中运行。 可以使用主管运行分离的 docker 容器来控制容器中运行的进程。用php?

【问题讨论】:

  • 请重新表述您的问题。我完全不确定你的意思。是否要将 html 堆栈与控制台命令 (bin/console) 分开?
  • 只是我想要两个容器,一个带有主管,第二个带有 php。主管将控制 php 容器中的 php 进程。有可能吗?
  • 您是否正在寻找运行 cron-jobs 的方法?我在这里解决了这个问题stackoverflow.com/questions/49074458/…

标签: symfony docker supervisord


【解决方案1】:

有趣的是,就在昨天,我正在研究解决此问题的各种方法,需要 RabbitMQ consumer 命令与我的基于 Symfony 的应用程序并排运行。

我的第一个想法是分离容器,因为它们看起来确实是独立的,毕竟它们会针对同一个 DBMS 服务器。但是我有一个问题,需要在某个容器中保存我的应用程序的完整副本,同时只使用其中的一小部分,所以我转而只使用一个容器。

一般思路是改docker启动CMD,这样就不会运行php-fpm,而是运行supervisor。然后,supervisor 的程序之一应该是原始的 docker 启动脚本,另一个可能是你的命令。我不确定这是否有一些反击,但我想到的是,如果php 崩溃,您将依靠supervisor 将其恢复。如果这失败了,你就会陷入相信一切都井井有条的想法,但实际上并非如此。

上面的想法在这里得到了很好的描述:http://www.inanzzz.com/index.php/post/6tik/using-supervisor-withing-docker-containers

希望这会有所帮助...

【讨论】:

    【解决方案2】:

    我们正在使用

    container_id=`docker ps -q --no-trunc --filter label="com.amazonaws.ecs.container-name=php" | head -n 1`; docker exec $container_id php /var/www/application/bin/console app:cronjob
    

    访问 PHP 容器。

    如果您不使用 EC2,您可能需要更改过滤器值。

    【讨论】:

      猜你喜欢
      • 2018-09-03
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 2020-09-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2020-08-05
      相关资源
      最近更新 更多