必须确保Docker已就绪且项目集成Sail脚本与docker-compose.yml,否则执行sail命令会报错“Command 'sail' is not defined”;需先安装Docker Desktop(macOS/Windows)或docker-ce+compose-plugin(Linux),验证docker --version和docker compose version,再通过php artisan sail:install初始化配置并运行./vendor/bin/sail up启动环境。

要在Laravel 8项目中快速启用开箱即用的Docker本地开发环境,必须确保Docker已就绪且项目已正确集成Sail脚本与docker-compose.yml配置文件,否则执行sail命令会报错“Command "sail" is not defined”。
确认系统已安装Docker Desktop
macOS或Windows用户直接下载并安装Docker Desktop;Linux用户需安装docker-ce和docker-compose-plugin。运行docker --version和docker compose version验证两项命令均能正常输出版本号。若任一命令报错,说明Docker未正确安装或未加入系统PATH路径。
国内拉取镜像慢?立即配置网易云镜像加速器:打开Docker Desktop → Settings → Docker Engine → 在registry-mirrors数组中填入"https://hub-mirror.c.163.com" → Apply & Restart。
为现有Laravel 8项目启用Sail
方法一:使用Artisan命令初始化(推荐)
进入项目根目录后执行:
php artisan sail:install
该命令会生成docker-compose.yml并提示选择服务(MySQL、Redis等),按空格勾选后回车即可。
方法二:手动安装依赖再发布配置
先运行:
composer require laravel/sail --dev
再执行:
php artisan sail:install
【注意】若跳过composer require直接运行sail:install,会提示命令不存在——因为sail命令本身由laravel/sail包提供。
启动并验证Sail容器
第一步:在项目根目录下执行
./vendor/bin/sail up
首次运行将自动拉取PHP、MySQL等镜像并构建容器,耗时约2–5分钟。
第二步:等待终端输出类似apache_1 exited with code 0且各服务状态为Up后,在浏览器访问http://localhost或http://laravel.test(需提前向/etc/hosts添加127.0.0.1 laravel.test)。
第三步:检查数据库连通性
执行:
./vendor/bin/sail mysql -u root -psecret -e "SHOW DATABASES;"
若返回包含homestead或laravel的列表,说明MySQL容器已就绪且可被应用访问。
第四步:运行迁移确认环境可用
./vendor/bin/sail artisan migrate:fresh --seed
这一步会清空并重建所有表,同时填充示例数据。若无报错,代表PHP、MySQL、Artisan三者通信正常。


















