使用 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