Laravel Worker在Docker中不工作

我需要在Docker中添加一个worker。我使用Laravel 5.7和docker-compose版本3。

docker-compose文件为:

potatoes:
build:
  context: ./potatoes
  dockerfile: Dockerfile
  args:
    environment: local
ports:
  - '5000:80'
links:
  - redis
  - potatoesdb
  - elasticsearch
volumes:
  - ./potatoes:/var/www/html/app

Dockerfile是:

FROM my-company-laravel:latest

#Copiamos las configuraciones de nginx,el host y supervisor
ADD docker/nginx.conf /etc/nginx/nginx.conf
ADD docker/virtualhost.conf /etc/nginx/conf.d/default.conf
ADD docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf

ARG environment

RUN apt-get install -y libpng-dev
RUN docker-php-ext-install gd
RUN docker-php-ext-install zip

#Copiamos el projecto con los modulos de node y los assets compilados
COPY --chown=root:www-data ./ /var/www/html/app
COPY --chown=root:www-data ./.env.${environment:-local} /var/www/html/app/.env

#Aplicamos los permisos que corresponden
RUN chmod -R g+w /var/www/html/app/storage
RUN chmod -R g+w /var/www/html/app/bootstrap

#Copiamos composer
COPY --from=composer /usr/bin/composer /usr/bin/composer

##Download composer packages
WORKDIR /var/www/html/app
RUN composer install
RUN chmod -R g+w /var/www/html/app/vendor
RUN php artisan key:generate

EXPOSE 80

CMD ["/usr/bin/supervisord"]

在Laravel项目内部,我创建了一个docker文件夹,其中包括:

supervisord文件:

[supervisord]
nodaemon = true
logfile = /tmp/supervisord.log
logfile_maxbytes = 0

[program:php-fpm]
command=/usr/local/sbin/php-fpm --nodaemonize --fpm-config /usr/local/etc/php-fpm.conf
numprocs=1
autostart=true
autorestart=false

[program:nginx]
command =/usr/sbin/nginx -g "daemon off;"
stdout_logfile = /dev/stdout
stdout_logfile_maxbytes = 0
stderr_logfile = /dev/stderr
stderr_logfile_maxbytes = 0

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
numprocs=3
redirect_stderr=true
stdout_logfile=/tmp/worker.log

还有另外两个文件,但是与我无关。 (nginx.conf和virtualhot.conf)

应用程序运行正常,但是工作程序无法正常工作,我必须运行php artisan queue:work ...

Laravel Worker在Docker中不工作

此图显示文件/tmp/supervisord.log:

zuqiuzaixian 回答:Laravel Worker在Docker中不工作

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3163841.html

大家都在问