如何在 Docker 容器中部署 Laravel 应用

Docker 是一个开源的容器化平台,它使得开发者可以更加方便地构建、部署和管理应用程序。在本篇文章中,我们将介绍如何在 Docker 容器中部署 Laravel 应用程序。

前置条件

在开始之前,您需要确保本地计算机已经安装了 Docker 和 Docker Compose。如果您还没有安装这些工具,可以访问官网进行下载和安装:

准备 Laravel 应用

首先,我们需要准备一个 Laravel 应用程序。如果您还没有一个 Laravel 项目,请按照以下步骤创建一个新的 Laravel 项目:

步骤 1:创建 Laravel 项目

使用以下命令在本地计算机上安装 Laravel。

-------- -------------- ------------- --------------- ------

这将在计算机上创建一个名为 my-app 的 Laravel 项目。

步骤 2:构建 Docker 镜像

接下来,我们需要构建一个 Docker 镜像,以便将 Laravel 应用程序部署到 Docker 容器中。请按照以下步骤:

  1. 在 Laravel 项目的根目录下创建一个名为 Dockerfile 的文件,并将以下代码复制到该文件中。
---- -----------
--- ------- ------ -- ------- ------- -- -
    --- -
    --- -
    ----- -
    -- ---------------------- --------- -
    -- ---- ------- ----- -
    -- --------------------- -----
------- ---------------
---- - ---------------
--- ---- --- --------------------------------- - --- -- ---------------------------- -------------------
--- -------- ------- ---------------- --------------------- --------
--- ----- -- ----------------- -----------------------
--- --- ------- -----------

这个 Dockerfile 将基于 php:7.4-fpm 镜像创建一个新的镜像。它安装了 Laravel 应用程序所需的依赖项和包,以及配置了php和redis。

  1. 打开终端并 cd 到 Laravel 项目的根目录,然后运行以下命令来构建 Docker 镜像。
------ ----- -- ------ -

这个命令将在本地计算机上构建一个名为 my-app 的 Docker 镜像。

步骤 3:使用 Docker Compose 启动容器

现在,我们已经准备好 Docker 镜像,我们需要使用 Docker Compose 创建和管理容器。Docker Compose 允许我们定义多个容器,并在它们之间进行通信。请按照以下步骤:

  1. 在 Laravel 项目的根目录下创建一个名为 docker-compose.yml 的文件,并将以下代码复制到该文件中。
-------- ---
---------
  ----
    ------
      -------- -
      ----------- ----------
    ------ ------
    ------
      - ---------
    --------
      - ------------------------
    ------------
      - ----------------
      - -------------
      - -----------------------------------------------------------
      - --------------
      - -----------------------------
      - -------------------
      - ----------
      - ------------
      - ------------------
      - ----------------
      - ------------------
    -----------
      - --
    ---------
      - ------
  ---
    ------ ------------
    ------------
      - ---------------------
      - --------------------------
    ------
      - -----------
    --------
      - ---------------------
    ---------
      - ------
---------
  -------
--------
  -------

这个 docker-compose.yml 文件定义了两个服务:一个是 web,另一个是 dbweb 服务将使用我们之前构建的 my-app 镜像,并将在 8080 端口上运行我们的 Laravel 应用程序。我们还定义了一个 db 服务,该服务将使用 MySQL 镜像并监听 3307 端口。

请注意,定义了一些环境变量,包括数据库连接信息。这些环境变量将被传递到我们的 Laravel 应用程序中。

  1. 运行以下命令以启动容器。
-------------- --

这个命令会启动所有在 docker-compose.yml 文件中定义的容器,并保持它们在后台运行。

  1. 打开浏览器并访问 http://localhost:8080,您将看到 Laravel 应用程序正在运行。

结论

在本篇文章中,我们已经介绍了在 Docker 容器中部署 Laravel 应用程序的方法。我们先创建了一个 Docker 镜像,然后使用 Docker Compose 创建和管理容器。通过这种方式,我们可以轻松地在不同的环境中部署和管理 Laravel 应用程序,并确保它们能够准确地运行。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672890d42e7021665e20b37e