必须先安装并运行Docker引擎,再执行sail命令;新项目用laravel new my-app --sail,现有项目先composer require laravel/sail --dev再php artisan sail:install;需配置hosts映射laravel.test。

要在本地用Sail启动Laravel项目,必须先让Docker引擎在系统中就位并正常运行,否则执行任何sail命令都会报错退出,连容器都拉不起来。
系统级前置条件
确保你的操作系统已安装 Docker Desktop(macOS/Windows)或 Docker Engine + Docker Compose(Linux),且 Docker 服务正在运行。可在终端执行 docker --version 和 docker-compose --version 验证;若提示 command not found,说明 Docker 未安装或未加入 PATH。
Windows 用户必须启用 WSL2,并将内核版本升级至 Linux 5.10+,否则 【sail up 会卡在构建 PHP 镜像阶段,且无明确错误提示】。
macOS 用户需确认 Docker Desktop 已启动——图标出现在菜单栏且状态为“Running”,否则 sail 命令会直接报错 “Cannot connect to the Docker daemon”。
项目级依赖准备
方法一:新项目直接带 Sail 启动
运行 laravel new my-app --sail 或 composer create-project laravel/laravel my-app --prefer-dist --sail,该命令会自动下载 Laravel 框架、安装 laravel/sail 开发依赖、生成 docker-compose.yml 并初始化配置文件。
方法二:为现有项目添加 Sail
① 进入项目根目录,执行 composer require laravel/sail --dev
② 执行 php artisan sail:install ——这一步会生成 docker-compose.yml 并让你勾选所需服务(如 MySQL、Redis)
③ 【跳过第①步直接运行 sail:install 会导致命令不存在,因为 artisan 命令本身由 laravel/sail 包注册】
网络与访问配置
启动前需向系统 hosts 文件写入域名映射:在终端运行 sudo sh -c "echo '127.0.0.1 laravel.test' >> /etc/hosts"(macOS/Linux)或以管理员身份运行 PowerShell 执行对应命令(Windows)。否则浏览器访问 http://laravel.test 会显示 DNS 错误。
首次运行 ./vendor/bin/sail up 时,Docker 将自动拉取镜像并构建容器,耗时约 2–5 分钟;等待终端输出 apache_1 和 mysql_1 等服务状态变为 Up 后,即可打开浏览器访问。


















