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

Laravel应用Docker容器化失败退出码1,报SQLSTATE[HY000]错误

Laravel Docker 启动失败修复方案

核心错误原因

错误日志SQLSTATE[HY000] [2002] No such file or directory是Laravel应用容器无法正常连接MySQL容器导致,对应配置存在多处不匹配问题。

修复步骤

  • 修正.env文件的数据库连接配置,和docker-compose.yml中MySQL服务的配置完全对齐:
DB_CONNECTION=mysql
DB_ENGINE=InnoDB
# 容器间通信需使用MySQL服务名作为主机地址,不能写127.0.0.1
DB_HOST=db
DB_PORT=3306
# 匹配docker-compose中配置的默认库名
DB_DATABASE=rubosa
# 匹配docker-compose中配置的数据库用户名,也可使用root账号
DB_USERNAME=rubosa
# 匹配docker-compose中配置的对应用户密码
DB_PASSWORD=rubosa
  • 可选优化:避免MySQL未完成初始化就执行迁移导致偶发报错,修改docker-compose.yml中app服务的command参数,增加端口等待逻辑:
command: bash -c 'apt install -y netcat && until nc -z db 3306; do echo "等待MySQL服务就绪..."; sleep 1; done && composer install && php artisan migrate && php artisan serve --host 0.0.0.0'
  • 执行命令重启服务,清除旧配置残留:
# 停止并删除旧容器、挂载的MySQL数据卷
docker-compose down -v
# 重新构建镜像并启动服务
docker-compose up --build

修复完成后访问http://localhost:8009即可打开Laravel应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:39:02