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

在已有Laravel 10项目中安装运行Laravel Sail失败的问题排查

问题诊断与解决:Laravel Sail 提示“Docker is not running”但Docker服务正常运行

可能的原因

  1. 当前用户无Docker操作权限:Docker服务处于运行状态,但当前登录用户未加入docker用户组,导致无法访问Docker守护进程,Sail因此误判Docker未运行。
  2. Docker上下文配置异常:Docker的上下文未设置为默认值,Sail无法定位到正确的Docker运行环境。
  3. 项目Sail配置文件异常:sail:install生成的docker-compose.yml或.env配置有误,导致Sail无法正常调用Docker。
  4. Sail与Docker版本不兼容:Docker版本过低,与Laravel Sail v1.26存在兼容性问题。

对应解决方法

1. 修复用户Docker权限

  • 执行groups命令,检查当前用户是否在docker组内。
  • 若不在,添加用户到docker组:
    sudo usermod -aG docker $USER
    
  • 退出当前终端并重新登录(或执行newgrp docker临时生效),再尝试运行./vendor/bin/sail up。

2. 重置Docker上下文

  • 查看当前Docker上下文:
    docker context ls
    
  • 确保default上下文处于active状态,若不是则切换:
    docker context use default
    
  • 重新启动Sail。

3. 检查并修复项目配置

  • 确认项目根目录下存在docker-compose.yml,且文件包含mysql服务的配置块(由sail:install生成)。
  • 检查.env文件,确保DB_CONNECTION=mysql、DB_HOST=mysql等Sail相关环境变量已正确配置。
  • 若配置文件损坏,可重新执行php artisan sail:install(注意备份现有配置文件)。

4. 验证并升级Docker版本

  • 查看Docker版本:
    docker --version
    
  • Laravel Sail v1.26要求Docker版本至少为20.10.x,若版本过低,升级Docker至最新稳定版后重启服务,再尝试启动Sail。

额外测试方案

若上述方法无效,可直接在项目根目录执行docker-compose up:

  • 若该命令也报错,说明问题出在Docker环境本身,需排查Docker的守护进程配置或系统权限。
  • 若该命令能正常启动容器,说明Sail脚本存在异常,可重新安装Sail:
    composer remove laravel/sail --dev
    composer require laravel/sail --dev
    php artisan sail:install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:23:20