PHP on Docker 开发模板指南
项目介绍
本指南基于usabilla/php-docker-template,这是一个用于在Docker环境中开发PHP项目的模板。它利用了Visual Studio Code的远程容器功能,旨在提供一个标准化的开发环境,使得开发者能够快速地设置并开始PHP项目,无论是新项目还是已有项目的集成。该模板支持自定义PHP版本,并提供了生产与开发两种配置环境。
项目快速启动
环境准备
确保安装了以下工具:
- Docker
- Docker Compose
- Visual Studio Code
- VSCode的Remote - Containers扩展
启动步骤
-
克隆项目:
git clone https://github.com/usabilla/php-docker-template.git
-
进入项目目录:
cd php-docker-template
-
构建与运行Docker容器: 在项目根目录下,执行以下命令来构建并启动包含PHP和Nginx服务的Docker容器。
docker-compose up -d
-
配置VSCode:
- 打开Visual Studio Code。
- 使用“Remote Explorer”插件,点击“Attach to Running Container…”,选择对应的PHP开发容器。
- 如果是首次使用,VSCode将自动处理
.devcontainer
中的配置,并引导您完成远程开发环境的设置。
应用案例和最佳实践
自定义开发环境
- 调整PHP版本: 通过修改
docker-compose.yml
文件中的构建参数(build-args
)或Dockerfile中的ARG
指令来更新PHP和Nginx版本。 - 库和依赖管理: 使用
composer install
来安装开发所需库(带测试环境)或composer install --no-dev
用于生产环境部署。 - 调试配置: 更新VSCode的
.vscode/launch.json
以适应您的调试需求,确保pathMappings
正确映射项目源码路径。
定制服务名及网络
在多服务环境中,务必更改docker-compose.yml
中服务的名字以及网络名称,以避免冲突。例如,如果从基础模板扩展,要相应修改所有提及的服务名,网络名和卷名。
典型生态项目集成
对于想要在外部PHP项目中使用此模板的情况,可以通过创建一个devcontainer/devcontainer extend private.yml
文件来实现。这个文件可以专门用于挂载外部项目到容器内部,实现开发环境的一致性。确保在此文件中配置正确的卷映射,例如:
services:
my-project-php:
volumes:
- ${LOCAL_WORKSPACE_FOLDER}:/var/www/html
然后,在VSCode的.devcontainer.json
中指定该配置文件,以便启动时被正确合并和使用。
以上步骤和配置为快速启动和深度整合PHP项目到Docker环境的基础,允许开发者高效地进行项目开发和管理,同时保持开发环境的一致性和隔离性。