laravel Sail 是 Laravel 官方 封装 的 docker Compose 工具,一键初始化、统一命令(如 sail up、sail artisan)、支持服务选配与配置微调,简化本地开发环境搭建与管理。

用 Laravel Sail 搭建本地开发环境非常简单,它本质是 Laravel 官方封装的一套 Docker Compose 脚本,帮你省去手动写 docker-compose.yml 和配置 nginx/php/mysql 的麻烦。
一键初始化 Sail 环境
新项目直接用 Laravel 安装器创建时带上 –dev 参数,会自动包含 Sail:
laravel new my-app –dev
已有项目则运行:
cd my-app && php artisan sail:install
执行后会生成 docker-compose.yml 和 .env.example 中的 Sail 相关配置(如 DB_HOST=sail),并提示你选择需要的服务(MySQL、postgresql、redis、Meilisearch 等)。
启动与日常开发命令
Sail 提供了统一的 ./vendor/bin/sail 命令代理,所有操作都不需单独记 Docker 命令:
- ./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 容器,但你可以用 sail node -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 这个命令打交道。开发体验接近原生,又隔离了环境依赖。
以上就是 Laravel 如何与 Docker(Sail)协同开发?(环境搭建教程)的详细内容,更多请关注 php 中文网其它相关文章!