Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
发布时间 - 2025-12-22 00:00:00 点击率:次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 这个命令打交道。开发体验接近原生,又隔离了环境依赖。
# mysql
# php
# linux
# laravel
# redis
# js
# 前端
# node.js
# node
# docker
# vite
# nginx
# npm
# for
# 封装
# public
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
zabbix利用python脚本发送报警邮件的方法
如何在 React 中条件性地遍历数组并渲染元素
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
如何用VPS主机快速搭建个人网站?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
如何在万网主机上快速搭建网站?
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
网站图片在线制作软件,怎么在图片上做链接?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
Laravel怎么判断请求类型_Laravel Request isMethod用法
如何在建站之星网店版论坛获取技术支持?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
C语言设计一个闪闪的圣诞树
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
,交易猫的商品怎么发布到网站上去?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
郑州企业网站制作公司,郑州招聘网站有哪些?
如何在阿里云高效完成企业建站全流程?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
如何获取PHP WAP自助建站系统源码?
Firefox Developer Edition开发者版本入口
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
b2c电商网站制作流程,b2c水平综合的电商平台?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Python自动化办公教程_ExcelWordPDF批量处理案例
Python正则表达式进阶教程_复杂匹配与分组替换解析
Laravel Fortify是什么,和Jetstream有什么关系
如何在万网自助建站平台快速创建网站?
创业网站制作流程,创业网站可靠吗?
如何在云主机快速搭建网站站点?
Laravel如何记录自定义日志?(Log频道配置)
如何基于云服务器快速搭建个人网站?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
详解vue.js组件化开发实践
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
C++时间戳转换成日期时间的步骤和示例代码
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全


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