使用 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
第一次运行安装程序时,此操作可能需要几分钟,因为它将下载合适的 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
您现在可以浏览新安装的 Laravel 应用程序中的文件。
cd laravel-dev-blog/
ls
该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
2.跑步sail up
有了这些文件,您现在可以使用以下命令启动您的开发环境:
sail up
这将以前台模式运行您的开发环境,这样您就可以实时查看容器日志,但会阻塞您的终端。要停止执行并保存容器状态,您可以点击CTRL+C
。
要在后台模式(分离)下运行环境,请将其-d
作为参数包含在上一个命令中:
sail up -d
无论你选择在前台还是后台模式下运行环境,你的新 Laravel 应用程序现在都应该可以在 上使用http://localhost
。在浏览器中打开此 URL,你会看到如下页面:
帆船快速参考
以下列表包含主要 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}
虽然这只是一个临时解决方案,但您仍然需要重新启动会话以使更改永久生效。
结论
使用 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