Laravel Sail本地开发如何exec进容器tail查看access logs
Laravel Sail 日志查看与常规开发最简操作方案
不需要手动拼接docker exec命令进容器,也不用切回原生Docker模式,Sail已经封装了所有日常开发需要的操作,常用操作如下:
日志查看相关操作
- 实时跟踪所有服务(应用、MySQL、Redis等)的容器输出日志,直接在项目根目录执行:
效果和原生docker logs跟踪一致,不需要指定容器名。sail logs -f - 如果只需要查看Laravel框架本身的日志文件,有两种极简方式:
- 方式1:一键进入应用容器交互终端,执行后直接操作容器内环境
sail shell # 进入后直接执行tail命令即可 tail -f storage/logs/laravel.log - 方式2:不进入交互终端,单条命令直接执行日志查看
注:sail exec laravel.test tail -f storage/logs/laravel.loglaravel.test是Sail默认的应用服务名,如果你修改过docker-compose.yml里的应用服务名,替换成对应名称即可
- 方式1:一键进入应用容器交互终端,执行后直接操作容器内环境
日常开发最简操作流
Sail的核心设计就是把所有容器内操作封装成了前缀命令,不需要记忆Docker参数,所有本地开发常用操作都可以在项目根目录直接执行:
- 服务启停:
sail up -d后台启动所有服务,sail stop停止服务,sail restart重启服务 - Artisan命令:所有原php artisan命令前加
sail前缀即可,比如数据库迁移执行sail artisan migrate,进入tinker执行sail artisan tinker - 依赖管理:Composer操作使用
sail composer前缀,比如sail composer require laravel/sanctum;NPM操作使用sail npm前缀,比如sail npm run dev - 数据库连接:默认数据库端口已经映射到本地,直接用本地数据库客户端连接127.0.0.1的对应端口即可,不需要进容器操作
小技巧:如果觉得每次输入sail路径麻烦,可以在你的shell配置文件(.zshrc/.bashrc等)中添加别名
alias sail='[ -f sail ] && sh sail || sh vendor/bin/sail',配置生效后就可以在所有Sail项目中直接调用sail命令。
Sail的完整操作说明可以在Laravel官方文档的Sail章节找到,所有封装命令都有明确说明,不需要检索零散的第三方教程。
内容的提问来源于stack exchange,提问作者caro
相关产品推荐
相关产品推荐

