使用 Docker Compose 部署 Laravel 应用程序

阅读时长 4 分钟读完

使用 Docker Compose 部署 Laravel 应用程序

随着应用程序的发展,越来越多的开发者开始寻求一种更高效、更可靠的部署方法,Docker Compose 就是这样一种强大的工具。本文将讲解使用 Docker Compose 部署 Laravel 应用程序的具体步骤,并介绍一些相关技术和经验。

技术准备

在开始部署之前,需要有一些基本的技术准备:

  • Docker 和 Docker Compose:这两个工具是必须的。
  • 一台运行 Docker 的服务器:为了便于演示和学习,可以在本地电脑上安装 Docker。
  • Laravel 应用程序:本文默认您已经有一个基于 Laravel 框架开发的应用程序。

准备 Dockerfile

首先需要编写 Dockerfile 文件,以告诉 Docker 如何构建应用程序镜像。在这个例子中,我们将创建一个包含 PHP、Apache 和 Laravel 框架的镜像。

FROM php:7.4-apache

安装环境依赖

RUN apt-get update &&
apt-get install -y git zip
libzip-dev libxml2-dev

安装 PHP 扩展

RUN docker-php-ext-install pdo_mysql
&& pecl install xdebug
&& docker-php-ext-enable xdebug

安装 Composer

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

配置 Apache

RUN a2enmod rewrite &&
chown -R www-data:www-data /var/www/html

WORKDIR /var/www/html

复制应用程序代码

COPY ./ ./

安装 Laravel 依赖

RUN composer install

暴露 Apache 端口

EXPOSE 80

CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

这个 Dockerfile 文件从 Docker Hub 中的 php:7.4-apache 镜像继承,然后安装了一些必要的依赖和 PHP 扩展,之后安装 Composer 并使用该依赖管理工具安装 Laravel 应用程序依赖。

创建 docker-compose.yml 文件

接下来,需要创建 Docker Compose 配置文件 docker-compose.yml。

version: "3.7"

services: app: build: . volumes: - .:/var/www/html ports: - "80:80" working_dir: /var/www/html environment: XDEBUG_CONFIG: "remote_host=docker.for.mac.localhost"

这个配置文件描述了一个服务,该服务以前面编写的 Dockerfile 构建镜像,并将当前目录与容器内的 /var/www/html 目录进行挂载。此外,它在本地主机的 80 端口和容器内的 80 端口之间进行端口映射,并设置一个 XDEBUG_CONFIG 环境变量,以便在 PhpStorm 中调试项目。

运行 Docker Compose

当具备所有前置准备之后,就可以启动 Docker Compose 了。在终端中,运行以下命令:

docker-compose up -d

该命令将启动 Docker Compose 并在后台运行。此时,可以通过访问 http://localhost:80 来查看应用程序的效果了。

总结

本文介绍了使用 Docker Compose 部署 Laravel 应用程序的方法,并介绍了 Dockerfile 和 docker-compose.yml 文件的编写,以及一些相关技术和经验。通过阅读本文,应该对 Docker Compose 部署应用程序的过程和必要的配置信息有了一定的了解。

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

纠错
反馈