如何仅使用两个命令在 Docker 中部署 Laravel 应用程序

WBOY
发布: 2024-09-08 06:33:06
原创
831 人浏览过

你好!这是豪尔赫。自从我上一篇文章以来已经有一段时间了,这篇文章听起来可能与您在这里读过的文章相同。但是来吧,我向你保证,你再也不需要从头开始构建 docker 镜像到你的 Laravel 项目了!

⚡TL;博士

厌倦了从头开始为每个 Laravel 项目配置 Docker?这是 Laradocker 项目的 Github 存储库的链接,这是一个全新的 Composer 包,只需使用以下两个简单的命令即可使用 Docker 设置 Laravel 项目:

# Run these commands inside your Laravel project:

composer require --dev jdsantos/laradocker

php artisan laradocker:install

# That's it! Follow the instructions and you are done!

登录后复制

在前往那里的路上,请在仓库上留下星星⭐以表示您的支持。

预先感谢❤️

?背景故事

在我的上一篇文章中,我为您带来了 LANPOD Laravel/Docker 部署策略,它允许您依靠由 laravel + alpine linux + nginx 组成的久经考验的技术方案来交付 Laravel 应用程序本地或云环境+ php-fpm + opcache + docker 你绝对喜欢。

此秘籍允许您将应用程序部署在可再发行、虚拟化、操作系统无关、独立且自配置的软件映像中,并在 Docker 或 Podman 等虚拟化引擎中运行。它甚至包括开箱即用的东西,例如主管用于处理队列的整洁配置,php、opcache 和 php-fpm、nginx 的良好默认值等。

一切都好,但是...

?疼痛

出了点问题。

虽然 LANPOD 作为 Github 上的模板存储库对于全新的 Laravel 应用程序来说是一个有用的起点,并且很多比必须在相同的结构化应用程序上一遍又一遍地连接虚拟化要好,它对于已经存在的/遗留项目完全没有用。您必须手动提取配方的文件和一堆其他内容的目录,并根据您的需要进行调整。由于它是一个仅包含模板的存储库,因此它不包含开箱即用的任何本机数据库支持(因为如果包含,则必须将所有这些都包含在同一个映像中),并且如果更新需要配置,只是知道如何在项目中更改以及更改什么内容,这将是人间地狱。

?解决方案

我自己已经多次感受到这种痛苦了,尤其是当必须一遍又一遍地手动将数据库依赖项添加到 Dockerfile/Containerfile 时,我意识到:在我的项目中将此配方作为依赖项会有多酷,这样方便以后安装、卸载和更新?

“就是这样!我将创建一个可以安装在我的项目中的 Laravel 包!让我们开始吧!”

How I deploy Laravel apps in Docker with just two commands

于是,冒险开始了!

我开始搭建我全新的 Composer 项目,其中包含开发和测试 Laravel 包所需的所有依赖项,包括 Orchestra/testbench、laravel/pint 和 larastan/larastan。

之后,我从一开始就为该项目设置了一个 Github 存储库,自动向 Packagist(PHP Composer 包存储库)发布功能,并为超级简单的 CI/CD 管道生成了 Github 操作,以便在以下位置运行我的测试:每次按下。

完成所有这些后,剩下的就很简单了:我使用 LANPOD 的所有文件作为该项目的存根,并使用普通的 Artisan Console 开发了一个非常愚蠢且基本的 UI 来安装此配方:

How I deploy Laravel apps in Docker with just two commands

在项目中启动 Laradocker 后,安装程序将指导您完成必要的步骤,在映像中构建适当的依赖项,例如数据库连接支持,然后您就完成了!

How I deploy Laravel apps in Docker with just two commands

所有文件都会立即生成并复制到您的项目中!

??‍?代码

这个软件包是完全免费和开源的,您可以在这里找到源代码!。在您前往那里的路上,请在存储库上留下一颗星⭐以表示您的支持。

预先感谢❤️

?环境

这是我使用的环境:

硬件

  • 英特尔 i7-8750H
  • 24 GB 内存
  • SSD 250GB

软件

  • Windows 11 企业版
  • 带有 WSL 后端的 Docker 桌面
  • Visual Studio 代码

希望这对您有所帮助。

很快再见! ?

以上是如何仅使用两个命令在 Docker 中部署 Laravel 应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板