使用 Sail 和 Docker 创建新的 Laravel 应用程序(无需设置 PHP)

2025-06-07

使用 Sail 和 Docker 创建新的 Laravel 应用程序(无需设置 PHP)

在Sourcegraph 的 Twitch 频道直播系列《Laravel 入门》的第一集中,我们学习了如何使用Sail和 Docker 启动一个新的 Laravel 应用程序。这让你可以使用 Docker 容器开发 Laravel 应用程序,而无需在本地计算机或开发服务器上搭建功能齐全的 PHP 开发环境。

在这篇回顾文章中,我们将分享直播过程中执行的所有步骤,以便您能够按照自己的节奏重现这些步骤。如果您愿意,也可以在 YouTube 上观看此回顾的视频版本。

准备

在继续之前,请确保您已在本地计算机或开发服务器上安装并配置了以下软件:

  • Docker
  • 卷曲
  • Git

Windows 和 MacOS 用户需要安装 Docker Desktop。Linux 用户只需安装 Docker 引擎。请确保将您的用户添加到docker组中,以便能够以普通用户身份运行 Docker。

1. 使用官方构建器脚本创建一个新的 Laravel 应用程序

该演示应用程序是一个类似博客的应用程序,它从DEV上的用户个人资料中提取内容。我们将其称为laravel-dev-blog

下一个命令将从官方 Laravel 网站下载构建器脚本并使用运行它bash

curl -s https://laravel.build/laravel-dev-blog | bash
Enter fullscreen mode Exit fullscreen mode

第一次运行安装程序时,此操作可能需要几分钟,因为它将下载合适的 PHP 映像来执行 Composer 并使用 Docker 安装应用程序依赖项。

在完成之前,安装脚本将要求您确认sudo密码,以便在应用程序目录上设置正确的权限:

Application ready! Build something amazing.
Sail scaffolding installed successfully.

Please provide your password so we can make some final adjustments to your application's permissions.

[sudo] password for erika: 

Thank you! We hope you build something incredible. Dive in with: cd laravel-dev-blog && ./vendor/bin/sail up
Enter fullscreen mode Exit fullscreen mode

您现在可以浏览新安装的 Laravel 应用程序中的文件。

cd laravel-dev-blog/
ls
Enter fullscreen mode Exit fullscreen mode

artisan脚本位于应用程序文件夹的根目录下,是一个重要的工具,您可以使用它来生成样板代码、操作数据库、运行作业和队列等。

以下是新安装的 Laravel 应用程序中相关目录的列表:

.
├── app/ # models, controllers, and app-specific logic
├── bootstrap/
├── config/ # configuration files
├── database/ # database-related classes and scripts
├── public/ # the document root for the application
├── resources/ # front end resources that aren't public: views, base CSS and JS 
├── routes/ # where the application routes are defined
├── storage/ # file uploads, cache, and logs are stored here
├── tests/ #application tests

Enter fullscreen mode Exit fullscreen mode

2.跑步sail up

有了这些文件,您现在可以使用以下命令启动您的开发环境:

sail up
Enter fullscreen mode Exit fullscreen mode

这将以前台模式运行您的开发环境,这样您就可以实时查看容器日志,但会阻塞您的终端。要停止执行并保存容器状态,您可以点击CTRL+C

要在后台模式(分离)下运行环境,请将其-d作为参数包含在上一个命令中:

sail up -d
Enter fullscreen mode Exit fullscreen mode

无论你选择在前台还是后台模式下运行环境,你的新 Laravel 应用程序现在都应该可以在 上使用http://localhost。在浏览器中打开此 URL,你会看到如下页面:

Laravel 欢迎页面

帆船快速参考

以下列表包含主要 Sail 命令的简短参考:

命令 描述
sail up 启动 Docker 环境。
sail down 关闭 Docker 环境并删除相关的容器、存储和网络。
sail start 启动之前已使用 停止的环境sail stop
sail stop 停止当前正在运行的环境,保存容器和服务的状态。
sail artisan artisan在应用程序容器上运行该工具。
sail php 在应用程序容器上运行 PHP 脚本。

有关所有可用 Sail 命令的更多信息,请访问官方文档

故障排除

以下是一些解决运行本教程时可能出现的常见问题的提示。

“Docker”未运行

如果您的系统未启用 Docker 服务,或者您当前的系统用户没有执行 Docker 的权限,则可能会出现此错误。在 Linux 上新安装的 Docker 引擎中,只有root用户才能管理容器。您需要确保您的系统用户已添加到系统的docker组中。

我已将我的用户添加到 docker 组,但仍然不起作用

将用户添加到组后,您需要重新启动会话以使更改生效。您可以注销系统,然后重新登录。另一个方法是运行以下命令:

u - ${USER}
Enter fullscreen mode Exit fullscreen mode

虽然这只是一个临时解决方案,但您仍然需要重新启动会话以使更改永久生效。

结论

使用 Laravel 构建器脚本和 Sail,无需在本地计算机或开发服务器上安装 PHP 即可安装和运行 Laravel 应用程序。这对于探索 Laravel 框架和 PHP 语言非常有用,此外,它还提供了一个兼容且针对 Laravel 运行优化的标准化开发环境。

在本系列的下一部分中,我们将开始使用 TailwindCSS 构建项目的前端。

在 Twitch 上关注Sourcegraph,当我们发布该系列的新剧集时,您会收到通知。

文章来源:https://dev.to/sourcegraph/creating-a-new-laravel-application-with-sail-and-docker-no-php-required-4c2n
PREV
在 VS Code 窗口中迷失了?
NEXT
通过使用更多的终端和更少的鼠标来提高您的工作效率(🚀)。