docker搭建php环境
时间: 2025-02-06 14:47:33 浏览: 43
### 使用Docker构建PHP开发环境
#### 准备工作
为了在Windows 10上使用Docker来创建一个适合PHP项目的开发环境,确保已经安装并配置好Docker Desktop[^1]。
#### 创建项目文件夹结构
建立合理的目录布局有助于更好地管理和部署应用。推荐如下所示的基础架构:
```
my-php-app/
├── app/
│ ├── index.html
│ └── index.php
├── conf/
│ ├── nginx/
│ │ └── default.conf
│ └── php/
│ └── custom.ini
├── Dockerfile
└── docker-compose.yml
```
此结构不仅便于管理各个组件的配置文件,还支持通过`docker-compose`轻松启动多个服务实例[^2]。
#### 编写必要的配置文件
##### `Dockerfile`: PHP-FPM镜像定制化设置
定义自定义化的PHP-FPM服务器映像,可以在此处添加所需的任何额外模块或工具集。
```dockerfile
FROM php:7.4-fpm-alpine
# 安装常用扩展
RUN docker-php-ext-install opcache pdo pdo_mysql mysqli \
&& pecl install redis \
&& docker-php-ext-enable redis
WORKDIR /var/www/html
COPY ./app /var/www/html/
EXPOSE 9000
CMD ["php-fpm"]
```
##### `conf/nginx/default.conf`: NGINX站点配置模板
设定Web服务器行为模式以及静态资源处理方式。
```nginx
server {
listen 80;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass php-upstream;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
```
##### `docker-compose.yml`: 多容器编排描述文档
利用YAML语法指定参与协作的服务及其属性关系。
```yaml
version: '3'
services:
web:
image: nginx:alpine
ports:
- ./conf/nginx:/etc/nginx/conf.d
depends_on:
- php
php:
build: .
expose:
- PHP_IDE_CONFIG=serverName=localhost
volumes:
- ./app:/var/www/html
- ./conf/php/custom.ini:/usr/local/etc/php/conf.d/docker-custom.ini
```
完成上述准备工作之后,在命令提示符窗口中切换至项目根路径执行`docker-compose up --build`指令即可自动拉取所需基础镜像、构建新版本的应用程序,并最终激活整个集群体系。
阅读全文
相关推荐














