Skip to content

在容器中安装 Laravel

Laravel 是最常用的 Web 开发框架之一,它集成了各种 Web 开发工具于一身,因其丰富的工具简化了系统创建流程而经常被选用。

简介

无论你使用何种操作系统,运行 Laravel 最简单的方式是使用容器。Docker 容器可用于 Linux、Mac 和 Windows。这使得使用不同平台的团队可以运行相同的项目,而无需担心依赖项或数据库等外部系统。

在安装 Laravel 之前,需要先安装 Docker Desktop。安装 Docker Desktop 后,我们可以使用 Laravel Sail 命令来管理容器。

安装 Laravel

根据操作系统的不同,Laravel 的安装略有不同。这里我将介绍如何在 Linux、Mac 和 Windows 上进行安装。

要安装 Laravel,请打开终端并导航到要创建应用程序的目录。运行以下命令,其中 my-laravel-app 是项目文件夹的名称。

信息

确保名称只包含字母数字字符、破折号和下划线。

MacOS 安装命令:

sh
curl -s "https://laravel.build/my-laravel-app" | bash

警告

在运行 Windows 命令之前,请确保已安装 Docker Desktop,并且已安装并启用 WSL(Windows Subsystem for Linux)。你可以在此处了解如何安装 WSL。安装 WSL 后,还要确保 Docker Desktop 已配置为使用 WSL。强烈建议在用于 WSL 的 Linux 发行版的 home 文件夹内运行安装命令。与在 C: 驱动器内执行相比,在那里执行具有性能优势。

Linux 或 Windows(WSL)安装命令:

sh
curl -s https://laravel.build/example-app | bash

信息

如果收到 "Docker is not running" 的消息,则需要 Docker 正在运行才能使命令正确工作。

该命令可能会要求输入用户的密码,这对于正确设置文件夹权限是必需的。

成功后,你应该会看到类似以下的消息:

sh
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.

Password:

Thank you! We hope you build something incredible. Dive in with: cd my-laravel-app && ./vendor/bin/sail up

完成后,在终端中使用 cd my-laravel-app 导航到应用程序目录,并使用 ./vendor/bin/sail up 运行容器。第一次执行此命令时,将需要一些时间,因为应用程序将构建必要的容器。但是,后续运行会快得多。

容器启动后,控制台将显示类似以下信息:

sh
my-laravel-app-mysql-1         | 2022-05-29T18:54:38.584635Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.
my-laravel-app-meilisearch-1   | [2022-05-29T18:54:46Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.013543
my-laravel-app-meilisearch-1   | [2022-05-29T18:55:16Z INFO  actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.000049
my-laravel-app-mailhog-1       | [APIv1] KEEPALIVE /api/v1/events
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:39 2022] 172.22.0.1:62972 Accepted
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62972 Closing  
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Accepted
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Closing
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Accepted 
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 [200]: GET /favicon.ico
my-laravel-app-laravel.test-1  | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Closing

然后你可以导航到 http://localhost 访问应用程序。

Laravel home

提示

要停止容器,只需在终端中按 "Ctrl + C" 即可。