Laravel Sail基于Docker提供开箱即用的开发环境,无需手动配置PHP、数据库等服务。1. 使用laravel new my-app --sail创建项目并自动启用Sail;2. 运行sail up启动容器,访问https://www.php.cn/link/bb122c8fe6c764e8aae555e2186a6344;3. 通过sail artisan、sail composer等命令在容器中执行操作;4. 数据库连接使用mysql作为DB_HOST;5. 邮件测试可通过MailHog在https://www.php.cn/link/bb122c8fe6c764e8aae555e2186a6344:8025查看;6. 可自定义docker-compose.yml和Dockerfile以调整配置。Sail简化了环境搭建,适合团队协作与跨平台开发。

想快速搭建 Laravel 开发环境又不想折腾配置?Laravel Sail 是你的理想选择。它基于 Docker,开箱即用,无需手动安装 PHP、Composer、Node.js 或数据库服务。本文将带你一步步使用 Laravel Sail 搭建本地开发环境。
什么是 Laravel Sail?
Laravel Sail 是 Laravel 官方提供的轻量级命令行接口,用于与 Laravel 的 Docker 开发环境交互。它底层使用 Docker Compose 管理容器,预配置了运行 Laravel 应用所需的服务,包括:
- PHP 8.x 运行环境
- MySQL / PostgreSQL / Redis / Mailhog
- Nginx Web 服务器
- Node.js 和 Vite / Laravel Mix 支持
Sail 让你在没有本地环境依赖的情况下快速启动项目,特别适合团队协作和跨平台开发。
开始前的准备
确保你的系统已安装以下工具:
- Docker Desktop(Windows、macOS)或 Docker Engine + Docker Compose(Linux)
- Git
- 终端工具(如 iTerm2、Windows Terminal 或系统自带终端)
推荐使用 macOS、Windows(WSL2)或 Linux 系统。Docker 性能在这些平台上表现良好。
创建新项目并启用 Sail
你可以通过 Composer 或 Laravel Installer 快速创建一个支持 Sail 的项目。
方式一:使用 Composer运行以下命令创建新项目:
composer create-project laravel/laravel my-app cd my-app
项目创建完成后,Laravel 会自动检测是否安装了 Docker,并提示你初始化 Sail。你也可以手动运行:
php artisan sail:install
执行后会生成 docker-compose.yml 文件,并列出可用服务(MySQL、Redis、Meilisearch 等),按需选择即可。
方式二:使用 Laravel Installer(推荐)如果你已全局安装 Laravel Installer:
laravel new my-app --sail
加上 --sail 参数会自动配置 Sail 环境,无需后续手动设置。
启动开发环境
进入项目目录后,使用以下命令启动容器:
sail up
首次运行会拉取镜像并构建容器,可能需要几分钟。完成后,访问 https://www.php.cn/link/bb122c8fe6c764e8aae555e2186a6344 即可看到 Laravel 欢迎页面。
若希望在后台运行,使用:
sail up -d
常用 Sail 命令
Sail 允许你在容器中运行各种命令,就像在本地操作一样。
-
执行 Artisan 命令:
sail artisan migrate -
运行 Composer:
sail composer require intervention/image -
运行 Node.js 工具:
sail npm run dev或sail vite -
进入容器终端:
sail shell(进入 PHP 容器)sail mysql(连接 MySQL) -
停止服务:
sail down
配置数据库连接
Sail 默认使用 MySQL,相关配置在 .env 文件中:
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=sail DB_PASSWORD=password
注意:DB_HOST 必须是 mysql(对应 docker-compose 中的服务名),而不是 localhost。
邮件测试:使用 MailHog
Sail 集成了 MailHog,用于捕获和查看应用发送的邮件。
在 .env 中设置:
MAIL_MAILER=smtp MAIL_HOST=mailhog MAIL_PORT=1025 MAIL_ENCRYPTION=null
启动服务后,访问 https://www.php.cn/link/bb122c8fe6c764e8aae555e2186a6344:8025 即可查看所有测试邮件。
自定义 Docker 配置
如果需要修改 PHP 版本、添加扩展或调整 Nginx 配置,可以编辑 docker-compose.yml 和 docker/ 目录下的脚本。
例如:在 Dockerfile 中安装额外扩展:
RUN docker-php-ext-install pdo_mysql bcmath
修改后记得重建镜像:
sail build --no-cache
小贴士与常见问题
- 权限问题: Linux 用户可能遇到存储目录权限错误,可在 docker-compose.yml 中调整用户 UID。
- 性能优化: WSL2 或 macOS 上建议限制 Docker 内存使用,避免系统卡顿。
- 多项目共存: 每个项目应使用独立目录,Sail 会自动管理端口映射(如 80、3306)。
- IDE 调试: 可结合 Xdebug 使用,Sail 支持远程调试配置。
基本上就这些。Laravel Sail 极大简化了开发环境搭建流程,让你专注写代码而不是配环境。不复杂但容易忽略。









