Docker Compose 是一个用于多容器管理的工具,可以显著简化 PHP 框架的部署流程。通过配置版本、服务、镜像构建、端口映射、依赖关系和数据卷等内容,开发者能够高效管理多个容器,实现应用快速上线。
下面展示了一个用于 Laravel 应用的 Docker Compose 配置示例:
version: '3' services: app: build: . volumes: - .:/var/www/html ports: - "80:80" depends_on: - db db: image: mysql:5.7 volumes: - db-data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=password volumes: db-data:
version 用于指定 Docker Compose 文件的版本,本示例使用版本 3。
services 块定义了容器服务,包括 app(部署 Laravel 应用)和 db(部署 MySQL 数据库)。
app 容器通过 build 指向 Dockerfile 进行构建,volumes 将主机目录挂载到容器内对应路径,实现代码实时同步。
ports 将容器的 80 端口映射到主机端口 80,使 Laravel 应用能够通过浏览器访问。
depends_on 表明 app 容器依赖 db 容器,确保数据库容器先启动,避免应用启动失败。
volumes 定义数据卷,db-data 用于持久化 MySQL 数据,挂载在容器内的 /var/lib/mysql 目录。
environment 块为 MySQL 容器配置环境变量,其中 MYSQL_ROOT_PASSWORD 设置了 root 用户密码,保证数据库安全。
通过掌握 Docker Compose 的配置方法,PHP 框架部署变得更加高效和便捷。本文实例演示了从服务定义到数据卷管理的完整流程,为开发者提供了清晰的部署参考。