背景

本地开发环境与生产环境差异过大是一个长期痛点。每次在本地调试通过、推上服务器又出问题,往往是因为 PHP 版本、MySQL 配置、Nginx 路径不一致。Docker Compose 能很大程度解决这个问题。

目录结构

project/
├── docker-compose.yml
├── nginx/
│   └── default.conf
├── php/
│   └── Dockerfile
└── src/
    └── index.php

核心配置

php-fpm 容器与 nginx 容器通过内部网络通信,MySQL 数据卷单独挂载避免容器重建数据丢失。健康检查确保依赖顺序正确。

常见问题

小结

这套配置在 M1 Mac 和 Linux 服务器上都验证通过,基本可以直接复用。