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

Docker构建镜像未安装Supervisor且运行时启动崩溃问题求助

问题修复方案

核心故障点及解决方法

  • 缺失PHP运行环境
    当前使用的ubuntu:latest基础镜像仅安装了Supervisor,未安装PHP CLI及Laravel依赖的PHP扩展(如mbstring、xml、curl、redis等),导致php artisan queue:listen执行时找不到php命令,直接返回exit status 1。
  • Laravel项目未部署、工作目录配置错误
    Supervisor配置中worker的工作目录设置为/tmp/,且Dockerfile中没有复制Laravel项目代码到容器内的步骤,artisan入口文件不存在,命令执行直接失败。
  • Supervisor安装异常
    如果进入容器发现Supervisor未安装,大概率是镜像构建阶段apt install -y supervisor步骤执行失败,通常是Ubuntu官方源网络不稳定导致,可在apt更新前替换为国内镜像源解决。
  • Dockerfile配置冗余冲突
    先通过sed命令修改默认supervisord.conf添加nodaemon参数,随后又用自定义配置覆盖该文件,之前的sed操作完全无效,属于冗余配置。

修正后的配置示例

Dockerfile

FROM ubuntu:latest

# 替换为国内阿里云源,解决apt安装失败问题,不需要可删除该行
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
    apt-get update && \
    # 安装Supervisor + PHP及Laravel所需扩展,可根据项目需求调整PHP版本和扩展
    apt-get install -y supervisor php8.1-cli php8.1-mbstring php8.1-xml php8.1-curl php8.1-redis && \
    rm -rf /var/lib/apt/lists/*

# 创建Laravel项目存放目录
RUN mkdir -p /var/www/laravel

# 复制本地Supervisor配置到容器
COPY supervisord.conf /etc/supervisor/supervisord.conf

# 复制本地Laravel项目代码到容器内,注意替换左侧为你本地的Laravel项目路径
COPY ./local-laravel-project /var/www/laravel

CMD ["supervisord", "-c", "/etc/supervisor/supervisord.conf"]

supervisord.conf

[supervisord]
logfile=/var/log/supervisor/supervisord.log
pidfile=/var/run/supervisord.pid
user=root
nodaemon=true

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:listen --queue=queue1,queue2,queue3
directory=/var/www/laravel
autostart=true
autorestart=true
numprocs=3 # 直接设置为3即可启动3个进程,不需要单独写3份配置
stopwaitsecs=10800

注:如果需要3个处理不同队列的独立进程,可复制3份[program:laravel-worker]块,分别命名为laravel-worker-queue1、laravel-worker-queue2等,各自修改command中的--queue参数即可。


排错验证步骤

  • 镜像构建完成后先启动容器进入交互模式,验证环境是否正常:docker run --rm -it 你的镜像名称 bash
  • 容器内执行php -v确认PHP安装正常,执行cd /var/www/laravel && php artisan --version确认Laravel项目文件正常
  • 若worker仍启动失败,查看子进程日志排查具体报错:cat /var/log/supervisor/laravel-worker-*.log

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:54:03