信息发布→ 登录 注册 退出

Laravel Docker环境搭建教程_Laravel Sail使用指南

发布时间:2025-12-20

点击量:
Laravel Sail基于Docker提供开箱即用的开发环境,无需手动配置PHP、数据库等服务。1. 使用laravel new my-app --sail创建项目并自动启用Sail;2. 运行sail up启动容器,访问https://www./link/bb122c8fe6c764e8aae555e2186a6344;3. 通过sail artisan、sail composer等命令在容器中执行操作;4. 数据库连接使用mysql作为DB_HOST;5. 邮件测试可通过MailHog在https://www./link/bb122c8fe6c764e8aae555e2186a6344:8025查看;6. 可自定义docker-compose.yml和Dockerfile以调整配置。Sail简化了环境搭建,适合团队协作与跨平台开发。

想快速搭建 Laravel 开发环境又不想折腾配置?Laravel Sail 是你的理想选择。它基于 Docker,开箱即用,无需手动安装 PHP、Composer、Node.js 或数据库服务。本文将带你一步步使用 Laravel Sail 搭建本地开发环境。

什么是 Laravel Sail?

Laravel Sail 是 Laravel 官方提供的轻量级命令行接口,用于与 Laravel 的 Docker 开发环境交互。它底层使用 Docker Compose 管理容器,预配置了运行 Laravel 应用所需的服务,包括:

  • PHP 8.x 运行环境
  • MySQL / PostgreSQL / Redis / Mailhog
  • Nginx Web 服务器
  • Node.js 和 Vite / Laravel Mix 支持

Sail 让你在没有本地环境依赖的情况下快速启动项目,特别适合团队协作和跨平台开发。

开始前的准备

确保你的系统已安装以下工具:

  • Docker Desktop(Windows、macOS)或 Docker Engine + Docker Compose(Linux)
  • Git
  • 终端工具(如 iTerm2、Windows Terminal 或系统自带终端)

推荐使用 macOS、Windows(WSL2)或 Linux 系统。Docker 性能在这些平台上表现良好。

创建新项目并启用 Sail

你可以通过 Composer 或 Laravel Installer 快速创建一个支持 Sail 的项目。

方式一:使用 Composer

运行以下命令创建新项目:

composer create-project laravel/laravel my-app
cd my-app

项目创建完成后,Laravel 会自动检测是否安装了 Docker,并提示你初始化 Sail。你也可以手动运行:

php artisan sail:install

执行后会生成 docker-compose.yml 文件,并列出可用服务(MySQL、Redis、Meilisearch 等),按需选择即可。

方式二:使用 Laravel Installer(推荐)

如果你已全局安装 Laravel Installer:

laravel new my-app --sail

加上 --sail 参数会自动配置 Sail 环境,无需后续手动设置。

启动开发环境

进入项目目录后,使用以下命令启动容器:

sail up

首次运行会拉取镜像并构建容器,可能需要几分钟。完成后,访问 https://www./link/bb122c8fe6c764e8aae555e2186a6344 即可看到 Laravel 欢迎页面。

若希望在后台运行,使用:

sail up -d

常用 Sail 命令

Sail 允许你在容器中运行各种命令,就像在本地操作一样。

  • 执行 Artisan 命令:
    sail artisan migrate
  • 运行 Composer:
    sail composer require intervention/image
  • 运行 Node.js 工具:
    sail npm run devsail vite
  • 进入容器终端:
    sail shell(进入 PHP 容器)
    sail mysql(连接 MySQL)
  • 停止服务:
    sail down

配置数据库连接

Sail 默认使用 MySQL,相关配置在 .env 文件中:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password

注意:DB_HOST 必须是 mysql(对应 docker-compose 中的服务名),而不是 localhost。

邮件测试:使用 MailHog

Sail 集成了 MailHog,用于捕获和查看应用发送的邮件。

.env 中设置:

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_ENCRYPTION=null

启动服务后,访问 https://www./link/bb122c8fe6c764e8aae555e2186a6344:8025 即可查看所有测试邮件。

自定义 Docker 配置

如果需要修改 PHP 版本、添加扩展或调整 Nginx 配置,可以编辑 docker-compose.ymldocker/ 目录下的脚本。

例如:在 Dockerfile 中安装额外扩展:

RUN docker-php-ext-install pdo_mysql bcmath

修改后记得重建镜像:

sail build --no-cache

小贴士与常见问题

  • 权限问题: Linux 用户可能遇到存储目录权限错误,可在 docker-compose.yml 中调整用户 UID。
  • 性能优化: WSL2 或 macOS 上建议限制 Docker 内存使用,避免系统卡顿。
  • 多项目共存: 每个项目应使用独立目录,Sail 会自动管理端口映射(如 80、3306)。
  • IDE 调试: 可结合 Xdebug 使用,Sail 支持远程调试配置。

基本上就这些。Laravel Sail 极大简化了开发环境搭建流程,让你专注写代码而不是配环境。不复杂但容易忽略。

标签:# laravel  # docker  # mysql  # php  # linux  # word  # redis  # js  # node.js  # git  # composer  # nginx  # npm  # require  # 接口  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!