Laravel Sail 是 Laravel 官方封装的 Docker Compose 工具,一键初始化、统一命令(如 sail up、sail artisan)、支持服务选配与配置微调,简化本地开发环境搭建与管理。
用 Laravel Sail 搭建本地开发环境非常简单,它本质是 Laravel 官方封装的一套 Docker Compose 脚本,帮你省去手动写docker-compose.yml 和配置 Nginx/PHP/MySQL 的麻烦。
一键初始化 Sail 环境新项目直接用 Laravel 安装器创建时带上--dev参数,会自动包含 Sail:laravelnew my-app --dev
已有项目则运行:
cd my-app &&phpartisan sail:install执行后会生成docker-compose.yml和.env.example中的 Sail 相关配置(如 DB_HOST=sail),并提示你选择需要的服务(MySQL、PostgreSQL、Redis、Meilisearch 等)。
启动与日常开发命令Sail 提供了统一的./vendor/bin/sail命令代理,所有操作都不需单独记 Docker 命令:PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载./vendor/bin/sail up -d—— 后台启动容器./vendor/bin/sail artisan migrate—— 在 PHP 容器中运行 Artisan 命令./vendor/bin/sail php --version—— 进入 PHP 环境执行任意命令./vendor/bin/sail logs -f nginx—— 实时查看 Nginx 日志./vendor/bin/sail down—— 关闭全部服务常见配置调整技巧Sail 默认使用轻量级配置,适合开发。遇到实际需求可微调:修改端口:编辑docker-compose.yml中 nginx 的ports,比如把80:80改成8080:80,然后sail down && sail up -d挂载自定义配置:比如想改 PHP 的 upload_max_filesize,在docker-compose.yml的php服务里加 volumes:./php.ini:/usr/local/etc/php/conf.d/php.ini添加 Node.js支持:Sail 默认不启 Node 容器,但你可以用sailnode-v或sail npm run dev—— Sail 会自动在 PHP 容器里执行(PHP 镜像已预装 Node)
调试与问题排查要点
刚上手容易卡在几个地方:
权限问题:Linux/macOS 下如果报permission denied,检查./vendor/bin/sail
是否有执行权限:
chmod +x ./vendor/bin/sail数据库连不上:确认.env中DB_HOST=sail(不是 localhost),且已运行sail up -d启动 MySQL前端资源不刷新:Vite / Mix 编译后默认输出到public/build,确保APP_URL=http://localhost与访问地址一致,必要时清浏览器缓存或加版本参数文件变更监听失效:Docker Desktop for Mac/Windows 默认支持 inotify,Linux 用户需确认宿主机已启用fs.inotify.max_user_watches=524288基本上就这些。Sail 不是黑盒,它生成的 docker-compose.yml 完全可读可改;也不用怕 Docker,大多数时候你只和sail这个命令打交道。开发体验接近原生,又隔离了环境依赖。
