面向 PHP 开发者的 Docker
面向 PHP 开发者的 Docker
简介:
引言
《面向 PHP 开发者的 Docker》(英文原名 Docker for PHP Developers)一书由 Paul Redmond 撰写,于 2018 年出版,一经问世便迅速吸引了渴望掌握现代容器化实践的 PHP 程序员社区的关注。在 Docker 已成为应用部署与开发事实标准的时代,本书提供了一种有针对性的、实用的方法,专门针对 PHP 生态系统。全书共 290 页,能够深入覆盖主题,同时避免用过多理论让读者感到负担。
本书内容
本书以逐步指南的形式构建,引导读者从 Docker 基础开始,一直到创建完整的 PHP 应用开发环境和生产部署。作者并非简单复述 Docker 文档,而是将其适配到 PHP 开发者的典型任务中:配置 Web 服务器(Nginx、Apache)、处理数据库(MySQL、PostgreSQL)、通过 Composer 管理依赖、使用 Redis 及其他服务。特别关注 Docker Compose 作为多容器应用编排工具的使用。书中还探讨了安全性、镜像优化、缓存和日志记录等问题。
目标读者
本书面向各个水平的 PHP 开发者——从刚刚开始接触容器化的初级开发者,到希望系统化知识并将 Docker 引入工作流程的经验丰富的专业人士。假设读者具备 PHP 和命令行的基本知识,但不需要深入的 DevOps 知识。本书对于希望了解 Docker 如何改进 CI/CD 并简化新开发者入职流程的技术主管和架构师也很有帮助。
读者将学到什么
- Docker 基础:安装、镜像、容器、Dockerfile、层、卷和网络。
- 为 PHP 创建 Docker 镜像:选择基础镜像(alpine、debian)、安装扩展、配置 php.ini。
- 使用 Docker Compose:描述服务(PHP-FPM、Nginx、MySQL、Redis)、环境变量、容器间的依赖关系。
- 在容器中进行开发:挂载代码、热重载、使用 Xdebug 进行调试。
- 生产构建:多阶段构建、优化镜像大小、最小化漏洞。
- 与 Composer 集成:在容器内安装依赖、缓存 vendor 目录。
- 处理队列和后台任务:容器化 Supervisor、RabbitMQ、Laravel Horizon。
- 在 Docker 中进行测试:运行 PHPUnit、Behat、配置测试数据库。
- CI/CD:在 GitLab CI / GitHub Actions 中构建镜像、发布到 Docker Hub。
优点
本书的主要优点之一是其注重实践。每一章都包含现成的代码示例、Dockerfile 和 docker-compose.yml,可以立即适配到您的项目中。作者非常关注常见错误及其避免方法——例如文件权限问题、层缓存、PHP 版本选择等。本书语言生动易懂,没有过多的学术气息。特别值得一提的是关于调试和分析的章节——这在 Docker 相关文献中很少见。另一个优点是本书不局限于特定框架:示例既针对纯 PHP,也针对 Laravel、Symfony、WordPress,使其具有通用性。
推荐给谁
本书对所有希望从传统环境配置(XAMPP、MAMP、手动安装)转向容器化的 PHP 开发者都很有用。它也是处理 PHP 项目的 DevOps 工程师以及学习现代开发方法的学生们的绝佳辅助资料。如果您已经在使用 Docker,但感觉使用方式并非最优——那么本书将帮助您优化实践。