Docker 是一个开源的容器化平台,它使得开发者可以更加方便地构建、部署和管理应用程序。在本篇文章中,我们将介绍如何在 Docker 容器中部署 Laravel 应用程序。
前置条件
在开始之前,您需要确保本地计算机已经安装了 Docker 和 Docker Compose。如果您还没有安装这些工具,可以访问官网进行下载和安装:
- Docker:https://www.docker.com/
- Docker Compose: https://docs.docker.com/compose/install/
准备 Laravel 应用
首先,我们需要准备一个 Laravel 应用程序。如果您还没有一个 Laravel 项目,请按照以下步骤创建一个新的 Laravel 项目:
步骤 1:创建 Laravel 项目
使用以下命令在本地计算机上安装 Laravel。
-------- -------------- ------------- --------------- ------
这将在计算机上创建一个名为 my-app
的 Laravel 项目。
步骤 2:构建 Docker 镜像
接下来,我们需要构建一个 Docker 镜像,以便将 Laravel 应用程序部署到 Docker 容器中。请按照以下步骤:
- 在 Laravel 项目的根目录下创建一个名为
Dockerfile
的文件,并将以下代码复制到该文件中。
---- ----------- --- ------- ------ -- ------- ------- -- - --- - --- - ----- - -- ---------------------- --------- - -- ---- ------- ----- - -- --------------------- ----- ------- --------------- ---- - --------------- --- ---- --- --------------------------------- - --- -- ---------------------------- ------------------- --- -------- ------- ---------------- --------------------- -------- --- ----- -- ----------------- ----------------------- --- --- ------- -----------
这个 Dockerfile 将基于 php:7.4-fpm
镜像创建一个新的镜像。它安装了 Laravel 应用程序所需的依赖项和包,以及配置了php和redis。
- 打开终端并
cd
到 Laravel 项目的根目录,然后运行以下命令来构建 Docker 镜像。
------ ----- -- ------ -
这个命令将在本地计算机上构建一个名为 my-app
的 Docker 镜像。
步骤 3:使用 Docker Compose 启动容器
现在,我们已经准备好 Docker 镜像,我们需要使用 Docker Compose 创建和管理容器。Docker Compose 允许我们定义多个容器,并在它们之间进行通信。请按照以下步骤:
- 在 Laravel 项目的根目录下创建一个名为
docker-compose.yml
的文件,并将以下代码复制到该文件中。
-------- --- --------- ---- ------ -------- - ----------- ---------- ------ ------ ------ - --------- -------- - ------------------------ ------------ - ---------------- - ------------- - ----------------------------------------------------------- - -------------- - ----------------------------- - ------------------- - ---------- - ------------ - ------------------ - ---------------- - ------------------ ----------- - -- --------- - ------ --- ------ ------------ ------------ - --------------------- - -------------------------- ------ - ----------- -------- - --------------------- --------- - ------ --------- ------- -------- -------
这个 docker-compose.yml
文件定义了两个服务:一个是 web
,另一个是 db
。web
服务将使用我们之前构建的 my-app
镜像,并将在 8080
端口上运行我们的 Laravel 应用程序。我们还定义了一个 db
服务,该服务将使用 MySQL 镜像并监听 3307
端口。
请注意,定义了一些环境变量,包括数据库连接信息。这些环境变量将被传递到我们的 Laravel 应用程序中。
- 运行以下命令以启动容器。
-------------- --
这个命令会启动所有在 docker-compose.yml
文件中定义的容器,并保持它们在后台运行。
- 打开浏览器并访问
http://localhost:8080
,您将看到 Laravel 应用程序正在运行。
结论
在本篇文章中,我们已经介绍了在 Docker 容器中部署 Laravel 应用程序的方法。我们先创建了一个 Docker 镜像,然后使用 Docker Compose 创建和管理容器。通过这种方式,我们可以轻松地在不同的环境中部署和管理 Laravel 应用程序,并确保它们能够准确地运行。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/672890d42e7021665e20b37e