如何在 Ubuntu v22.04 上使用 Docker Compose 运行 Laravel

本文详细介绍了如何在Ubuntu 22.04上利用Docker Compose运行Laravel应用。首先强调了Laravel的流行性和Docker的用途,接着解释了Docker的基本概念和容器的重要性。教程中,作者通过一个包含Backpack的Laravel示例应用程序,展示了如何设置Docker和Docker Compose,包括Dockerfile和docker-compose.yml的使用。此外,文章还比较了Laravel Sail和直接使用Docker的区别,并解释了为何选择Docker Compose的原因。最后,读者将学习如何在本地构建和运行Laravel Docker容器,以及查看应用程序效果。
摘要由CSDN通过智能技术生成

Laravel是最流行的PHP框架之一。根据BuiltWith的数据,Laravel被全球超过720万个网站使用。Laravel是一个固执己见的框架,它是模块化的,易于使用的,并且有一个蓬勃发展的生态系统。在这篇文章中,您将学习如何在 Ubuntu 22.04 上使用 Docker Compose 运行 Laravel。

先决条件

  • 安装了 Docker 和 Docker Compose 的 Ubuntu v22.04。在本教程中,我们将使用 Docker v20.10.20 和 Docker Compose v2.12.2

  • Docker经验

  • 一些关于拉拉维尔的先验知识会有所帮助

  • 任何以前对 Docker 多阶段构建的了解都将很有用

  • 先验了解 Apache 的工作原理及其与 PHP 的关系

什么是 Docker?

Docker是一个开源平台,使软件工程师能够将他们的应用程序打包到称为容器的工件中,使它们易于发布,并避免在搜索查询中添加“在我的机器上工作”的问题。

那么,什么是容器?容器是一种使用户能够将整个堆栈打包为工件的技术。在此上下文中,整个堆栈指的是操作系统、具有任何依赖项的语言、应用程序代码及其依赖项。因此,在每个部署中,您交付的是整个堆栈,而不仅仅是更改的五行代码。

容器已经存在了很长时间,但它们在 2014 年被 Docker 普及。

映像是按照开放容器倡议 (OCI) 标准构建的,因此它们可以在任何地方运行。

带背包的拉拉维尔应用程序示例

在本指南中使用Docker和Docker Compose运行Laravel,我们将使用一个简单的Laravel应用程序。这个基本的Laravel应用程序将使用MySQL数据库,为了展示工作原理,我们将使用流行的Backpack Laravel软件包,用于构建和自定义管理面板。

为了简单起见,因为Laravel已经带有用户表和用户模型,我们将将其与Backpack连接以查看和编辑用户。这里需要注意的是,如果您编辑用户,该用户将无法登录,因为密码不会被加密。但是,这不是本教程关注的问题。在这篇文章中,重点是在 Ubuntu v22.04 上使用 Docker 和 Docker Compose 使用 MySQL 运行 Laravel 应用程序。

我们应用程序的完整代码可在此 GitHub 存储库中找到。它还包括 Dockerfile 和 docker-compose.yml 文件。

最终应用程序将在登录后访问 http://localhost:8082/admin/user 时列出用户:

拉拉维尔赛尔

Laravel 9.x的默认安装说明随Laravel Sail一起提供。Sail是一款伟大的产品,也是Laravel生态系统不可或缺的一部分。其GitHub存储库指出,“Sail为Laravel提供了Docker驱动的本地开发体验,与macOS,Windows(WSL2)和Linux兼容。那么,我们为什么不使用它呢?

Sail 是开发环境的绝佳工具,但它不适合类似生产的环境,因为:

  • Sail 过于通用,包括多个功能,如数据库、Redis 和使用 MeiliSearch 进行搜索。在生产中,这些依赖项被卸载到其他服务,如 RDS 或开放搜索

  • Dockerfile 非常适合开发环境。它有xdebug,Node.js 16和yarn。它也有MySQL和Node.js的客户端,但这些东西增加了容器的膨胀和重量,使得它对于类似生产的环境来说是不切实际的。

  • Sail 不使用官方的 Docker 镜像,而Facebook双重验证如何设置?Facebook账号如何保障安全?是将 Ubuntu v22.04 作为基础镜像的 Docker 镜像缝合在一起࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pxr007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值