2017-06-26 9 views
0

スーパーバイザがコンテナに開始されておらず、自分のlaravelプロジェクトにphp artisan queue:workコマンドを実行できません。私はコンテナに入ると、スーパーバイザサービスが開始されていないスーパーバイザがドッキング・コンテナ(Laravelプロジェクト)に開始されていません

[program:laravel-worker] 
command=php /var/www/test/current/artisan queue:work --tries=3 
user=myuser 
process_name=%(program_name)s_%(process_num)d 
directory=/var/www/test/current 
stdout_logfile=/tmp/supervisord.log 
redirect_stderr=true 
numprocs=1 
autostart=true 
autorestart=true 

[email protected]:/# service supervisor status 
supervisord is not running. 
ここに私のDockerfile

# Add worker to supervisor config file 
COPY laravel-worker.conf /etc/supervisor/conf.d/ 

CMD ["/usr/bin/supervisord"] 

から

エキスはlaravel-worker.confです

プロセスは次のとおりです。

[email protected]:/# ps -aux | grep supervisor 
root   1 0.0 0.0 4328 652 ?  Ss 18:21 0:00 /bin/sh -c service ssh restart && service apache2 restart && service cron start && bash /usr/bin/supervisord 
root  365 0.0 0.0 55808 10632 ?  Ss 18:25 0:00 /usr/bin/python /usr/bin/supervisord 
root  380 0.0 0.0 11120 712 ?  S+ 18:27 0:00 grep supervisor 

UPDATE

は、私は私のDockerFileを編集し、この行を置く:

ENTRYPOINT service ssh restart && service apache2 restart && service cron start && /usr/bin/supervisord && bash 

サービスは今も開始されたコンテナの起動時:

USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
root   1 0.1 0.0 4328 652 ?  Ss 05:20 0:00 /bin/sh -c service ssh restart && service apache2 restart && service cron start && /usr/bin/supervisord && bash 
root  25 0.0 0.0 55176 1140 ?  Ss 05:20 0:00 /usr/sbin/sshd 
root  43 0.1 0.0 406408 25504 ?  Ss 05:20 0:00 /usr/sbin/apache2 -k start 
www-data 46 0.0 0.0 406440 8416 ?  S 05:20 0:00 /usr/sbin/apache2 -k start 
www-data 47 0.0 0.0 406440 8416 ?  S 05:20 0:00 /usr/sbin/apache2 -k start 
www-data 48 0.0 0.0 406440 8416 ?  S 05:20 0:00 /usr/sbin/apache2 -k start 
www-data 49 0.0 0.0 406440 8416 ?  S 05:20 0:00 /usr/sbin/apache2 -k start 
www-data 50 0.0 0.0 406440 8416 ?  S 05:20 0:00 /usr/sbin/apache2 -k start 
root  59 0.0 0.0 17484 636 ?  Ss 05:20 0:00 /usr/sbin/cron 
root  63 0.2 0.0 56012 10788 ?  Ss 05:20 0:00 /usr/bin/python /usr/bin/supervisord 
root  64 0.0 0.0 20032 1280 ?  S 05:20 0:00 bash 
root  89 0.1 0.0 20240 1996 ?  Ss 05:20 0:00 bash 
root  112 0.0 0.0 17492 1168 ?  R+ 05:21 0:00 ps -aux 

しかし、それがあること縫い目スーパーバイザは実行する必要のある8つのプロセスが表示されないため、設定ファイルを起動しません。

答えて

0

これは悪い一部です:

&& bash /usr/bin/supervisord 

supervisordはbashスクリプトではありません。次のように実行してください:&& /usr/bin/supervisord

しかし、serviceをコンテナに完全に使用しないことをお勧めします。一般に、コンテナに複数のプロセスを実行する場合はantipatternと見なされますが、実際に必要な場合はsupervisorを使用することをお勧めします。各プロセス(cron、sshdなど)に.confファイルを作成し、CMDのようにsupervosordを実行してください。

+0

私はいつも問題があります。私の編集 – wawanopoulos

+0

を参照してください。 'supervisorctl status'と' supervisorctl tail laravel-worker' – Robert

関連する問題