You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Laravel配置supervisord后Redis队列无法自动启动问题求助

问题解决步骤

  • 首先检查docker/8.0/supervisord.conf配置文件中是否正确添加了队列进程配置,示例配置如下:
[program:laravel-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=sail
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/queue-worker.log
stopwaitsecs=3600
  • 确认修改supervisord配置后重新构建了Laravel镜像,执行命令:
sail build --no-cache
# 或者直接用docker compose命令
docker compose build laravel.test

注意:supervisord配置属于镜像内置内容,不是挂载到本地的文件,修改后必须重新构建镜像才会生效,这是绝大多数初学者都会遗漏的步骤。

  • 检查项目根目录.env文件中队列驱动配置是否正确:
QUEUE_CONNECTION=redis
  • 容器启动后,进入容器查看supervisord进程运行状态,确认队列进程是否正常启动:
# 查看所有supervisor管理的进程状态
sail exec laravel.test supervisorctl status
# 如果队列进程未启动,查看队列日志排查错误,日志路径为项目目录下的 storage/logs/queue-worker.log
  • 确认你的docker-compose.yml中laravel.test服务没有覆盖默认启动命令,你当前贴出的配置没有指定command参数,符合要求,默认会启动supervisord进程。

内容的提问来源于stack exchange,提问作者nrkdrk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:54:02