暗能星系

    • 登录
    • 搜索

    docker-php 合并Supervisor进程守护(双进程)

    小技巧
    1
    1
    15
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zhangfanglin 最后由 编辑

      1、 docker 下载 Supervisor

      RUN apt-get install -y supervisor       
      

      2、配置
      创建被守护的进程

      vi ***.conf     
      
      [program:laravel-worker]
      process_name=%(program_name)s_%(process_num)02d
      command=php /var/www/html/artisan queue:work --timeout=30000 --queue=default --delay=1 --sleep=1 --tries=1
      autostart=true
      autorestart=true
      user=root
      numprocs=1
      redirect_stderr=true
      stdout_logfile=/var/www/html/worker.log
      
      

      2、配置文件添加到Docker

      ADD ./laravel-worker.conf /etc/supervisor/conf.d/
      

      3、配置双进程命令

      vi **.sh
      
      
      #!/usr/bin/env bash
      
      /usr/bin/python2 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
      supervisorctl update
      supervisorctl start laravel-worker:*
      
      docker-php-entrypoint php-fpm
      
      
      

      4、将sh文件添加到Docker并且执行

      ADD ./supervisorctl.sh /var/www/html/supervisorctl.sh
      RUN chmod +x /var/www/html/supervisorctl.sh
      ENTRYPOINT ["sh","./supervisorctl.sh"]
      

      5、然后进行打包、启动

      注:查看docker进程命令

      docker ps --no-trunc |grep php
      
      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      Powered by 暗能星系