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

现有Laravel项目Sail部署后MySQL容器启动失败求助

Laravel Sail MySQL容器启动后立即退出的解决方法

问题现象

现有Laravel项目安装Sail后,执行sail up -d启动容器,MySQL容器仅运行3-4秒就停止。查看容器日志,核心错误为:

2023-10-23T08:36:46.114719Z 0 [ERROR] [MY-010259] [Server] Another process with pid 62 is using unix socket file.
2023-10-23T08:36:46.114731Z 0 [ERROR] [MY-010268] [Server] Unable to setup unix socket lock file.

执行docker ps -a可见MySQL容器状态为Exited (1),其他Sail项目运行正常。

解决步骤

1. 清理项目关联的Docker数据卷

残留的socket锁文件是最常见原因,执行以下命令彻底清理并重启:

  • 停止容器并删除关联卷:
    sail down -v
    
  • 重新启动容器:
    sail up -d
    

2. 排查宿主机MySQL进程冲突

若宿主机本地运行MySQL服务,可能与容器的socket映射冲突:

  • 临时停止宿主机MySQL服务:
    sudo systemctl stop mysql
    
  • 或修改项目的docker-compose.yml,移除MySQL服务下的socket映射行(通常是/var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock),再重启容器。

3. 重置Sail配置(兜底方案)

若以上方法无效,重新生成Sail的Docker配置:

  • 删除当前docker-compose.yml:
    rm docker-compose.yml
    
  • 重新发布Sail配置:
    php artisan sail:publish
    
  • 启动容器:
    sail up -d
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:03:20