如何使用 Docker 部署基于 Laravel 的 Web 应用

阅读时长 5 分钟读完

如何使用 Docker 部署基于 Laravel 的 Web 应用

背景

随着 Web 应用的兴起,Web 开发也逐渐成为了一项热门技术。而 Laravel 作为一种流行的 PHP 开发框架,已经成为了许多 Web 开发者的首选。但是在 Laravel 应用的部署上,开发者们经常会遇到很多问题。本篇文章将介绍如何使用 Docker 进行 Laravel 应用部署。

Docker 简介

Docker 是一种容器化技术,可以将应用和环境打包成一个镜像文件,然后在任何环境中都可以运行。Docker 安装简单,环境隔离性好,开发者可以将自己的应用与相关的依赖项分离开来,使得应用的部署变得更加简便。

安装 Docker

在开始之前,需要先在本地安装 Docker。安装方法可以参照 Docker 官方文档提供的步骤,这里不再赘述。

创建 Laravel 项目

进入命令行模式下,使用以下命令创建 Laravel 项目:

其中,app 参数是你创建的 Laravel 项目名称,请根据自己的需要修改。

创建 Dockerfile

Dockerfile 是用来构建 Docker 镜像的文件,定义了应用所需的所有组件和环境变量。在 Laravel 项目根目录下创建名为 Dockerfile 的文件,并添加以下代码:

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

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

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

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

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

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

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

------ --

解释一下以上代码的作用:

  • FROM php:7.4-apache 指定了该镜像基于 PHP 7.4 和 Apache,这里可以根据自己的需要选择其他镜像。
  • RUN apt-get 命令安装了一些必要的工具和软件包,比如 zip 扩展,unzip 命令,git 工具等。
  • docker-php-ext-install 命令安装了 zippdo_mysql 扩展。
  • a2enmod rewrite 命令启用了 Apache 的 Rewrite 模块,方便 Laravel 的路由设置。
  • RUN curl -sS 命令安装了 Composer 依赖管理工具。
  • COPY . /var/www/html 命令将当前目录下的所有文件拷贝到 Docker 镜像中的 /var/www/html 目录中。
  • WORKDIR /var/www/html 命令将当前工作目录设置为 /var/www/html
  • RUN composer install --no-interaction 命令安装了 Laravel 项目的依赖包。
  • RUN chown -R www-data:www-data /var/www/html \ && chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache 修改了文件权限,让 Apache 可以访问 Laravel 项目。
  • EXPOSE 80 命令将 80 端口暴露出来,方便外部网络访问。

构建 Docker 镜像

在 Dockerfile 所在目录下,使用以下命令构建 Docker 镜像:

其中,-t laravel-app 参数定义了镜像名称为 laravel-app. 表示当前目录,这个命令会在当前目录下查找 Dockerfile 文件。

启动 Laravel 应用

使用以下命令启动 Docker 容器并运行 Laravel 应用:

其中,-p 8080:80 参数将 Docker 容器的 80 端口映射到了本地机器的 8080 端口。-v pwd:/var/www/html 参数将当前目录挂载到 Docker 容器中的 Laravel 项目目录。laravel-app 参数定义了使用的镜像名称。

到此为止,Laravel 应用已经部署成功啦。可以通过访问 http://localhost:8080 在本地机器上查看 Laravel 应用的效果。

总结

本篇文章主要介绍了如何使用 Docker 对 Laravel 应用进行部署。Docker 简化了开发者的工作流程,提高了应用部署的效率。通过使用 Docker,开发者可以轻松地在本地测试应用,进一步提高代码质量和可维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e9d31bf6b2d6eab34fa4e8

纠错
反馈