Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门

发布时间 - 2025-12-13 00:00:00    点击率:
Laravel Sail是Laravel官方提供的基于Docker的开发环境,通过一条命令即可快速启动包含Nginx、MySQL、Redis等服务的容器化开发环境,无需本地安装PHP、Composer、Node.js等依赖。使用curl -s https://laravel.build/example-app | bash创建项目,进入目录后运行./vendor/bin/sail up启动服务,访问http://localhost即可查看应用。Sail提供sail artisan、sail composer、sail npm等命令在容器内执行操作,确保环境一致性。可通过修改docker-compose.yml文件自定义服务配置,如启用Redis、调整端口映射等,结合sail down和sail up重新生效。Sail显著降低环境配置复杂度,提升团队协作效率,适合新手和标准化项目开发。

Laravel Sail 是 Laravel 官方提供的一种轻量级、基于 Docker 的本地开发环境。它让你无需在本地安装 PHP、Composer、Node.js、数据库等开发依赖,只需安装 Docker,就能快速启动一个完整的 Laravel 开发容器环境。Sail 特别适合希望快速上手、避免环境配置麻烦的开发者。

什么是 Laravel Sail

Laravel Sail 将常用的开发服务(如 Nginx、MySQL、Redis、Mailhog 等)封装在 Docker 容器中,通过 docker-compose.yml 文件定义服务配置。你可以在命令行使用 sail 命令(本质是 Artisan 命令的封装)来启动、停止和管理这些容器。

Sail 的核心优势在于“开箱即用”:项目初始化后,运行一条命令即可拥有标准化的开发环境,避免“在我机器上能跑”的问题。

如何使用 Sail 快速启动项目

开始使用 Sail 非常简单,前提是你已安装 Docker Desktop 或 Docker Engine。

  • 创建新 Laravel 项目并启用 Sail:
    curl -s https://laravel.build/example-app | bash
  • 进入项目目录并启动容器:
    cd example-app && ./vendor/bin/sail up
  • 访问 http://localhost 即可看到 Laravel 欢迎页面

此时,你的应用运行在 Nginx 容器中,数据库连接可使用默认配置(DB_HOST=mysql),所有服务由 Docker 自动管理。

Sail 常用命令一览

Sail 提供了简洁的 CLI 接口来执行常见操作:

  • sail up:启动容器(加 -d 参数后台运行)
  • sail stop:停止容器
  • sail artisan:运行 Artisan 命令,例如 sail artisan migrate
  • sail composer:在容器内执行 Composer 命令
  • sail npm:运行 Node 相关命令,如 sail npm run dev
  • sail shell:进入应用容器的 Bash 环境

这些命令替代了本地全局安装工具的需求,所有操作都在一致的容器环境中完成。

自定义 Sail 环境

你可以根据项目需要修改 docker-compose.yml 文件来添加或调整服务。例如:

  • 启用 Redis:在 services 中取消 redis 的注释
  • 修改 MySQL 端口:更改 ports 映射避免冲突
  • 挂载额外目录:确保本地代码实时同步到容器

修改后运行 sail downsail up 重建容器即可生效。

基本上就这些。Laravel Sail 降低了新手入门门槛,也提升了团队协作时环境的一致性。不复杂但容易忽略。


# docker  # mysql  # php  # laravel  # redis  # js  # node.js  # node  # composer  # bash  # nginx  # npm  # 封装  # cURL  # 接口 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎么用AI帮你设计一套个性化的手机App图标?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  如何基于云服务器快速搭建个人网站?  香港服务器租用每月最低只需15元?  Laravel如何处理表单验证?(Requests代码示例)  佛山网站制作系统,佛山企业变更地址网上办理步骤?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何为不同团队 ID 动态生成多个非值班状态按钮  UC浏览器如何设置启动页 UC浏览器启动页设置方法  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  jquery插件bootstrapValidator表单验证详解  java ZXing生成二维码及条码实例分享  如何在不使用负向后查找的情况下匹配特定条件前的换行符  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  SQL查询语句优化的实用方法总结  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  C语言设计一个闪闪的圣诞树  如何在云主机上快速搭建多站点网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在局域网内绑定自建网站域名?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  python中快速进行多个字符替换的方法小结  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  node.js报错:Cannot find module 'ejs'的解决办法  微信小程序 HTTPS报错整理常见问题及解决方案  微信小程序 input输入框控件详解及实例(多种示例)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  详解Android——蓝牙技术 带你实现终端间数据传输  网页设计与网站制作内容,怎样注册网站?  jQuery 常见小例汇总  魔毅自助建站系统:模板定制与SEO优化一键生成指南  米侠浏览器网页背景异常怎么办 米侠显示修复  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在宝塔面板创建新站点?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  如何在云虚拟主机上快速搭建个人网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  html如何与html链接_实现多个HTML页面互相链接【互相】  黑客如何通过漏洞一步步攻陷网站服务器?  Firefox Developer Edition开发者版本入口  如何快速重置建站主机并恢复默认配置?  Laravel如何实现数据库事务?(DB Facade示例)