在 Windows 环境下使用 Docker 搭建 PHP 开发环境是一个高效且灵活的方法,尤其是借助 Docker Desktop 的便利性。以下是搭建 PHP 开发环境的基本步骤,包括 PHP、Apache 服务器和 MySQL 数据库:
### 1. 安装并配置 Docker Desktop
- 访问 [Docker Desktop for Windows](https://www.docker.com/products/docker-desktop) 下载并安装 Docker Desktop。
- 安装完成后,启动 Docker Desktop 并确保它正在运行。
### 2. 获取 Docker 镜像
#### PHP
Docker Hub 上有多种 PHP 镜像,可以根据需要选择版本。这里以 PHP 8.0 和 Apache 为例:
```sh
docker pull php:8.0-apache
```
此命令会下载 PHP 8.0 版本与 Apache 集成的镜像。
#### MySQL
同样,获取 MySQL 的镜像,这里以 MySQL 8.0 为例:
```sh
docker pull mysql:8.0
```
### 3. 运行 MySQL 容器
在运行 MySQL 容器之前,需要准备一些环境变量来配置 MySQL:
```sh
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0
```
- `--name mysql-server` 给容器命名。
- `-e MYSQL_ROOT_PASSWORD=my-secret-pw` 设置 root 用户的密码。
- `-d` 表示以后台模式运行容器。
### 4. 运行 PHP + Apache 容器并挂载卷
为了让 PHP 能够访问本地文件进行开发,你需要挂载一个卷来共享你的项目文件夹:
```sh
docker run --name php-apache -v "C:\your\local\path:/var/www/html" -p 80:80 -d php:80-apache
```
- `-v "C:\your\local\path:/var/www/html"` 将本地路径映射到容器内的 `/var/www/html` 目录。
- `-p 80:80` 映射容器的 80 端口到主机的 80 端口,使你能通过浏览器访问。
### 5. 配置 PHP 和 Apache(如有需要)
进入 PHP 容器,可以修改 Apache 或 PHP 的配置文件:
```sh
docker exec -it php-apache bash
```
使用 `nano` 或 `vi` 编辑器修改 `/etc/php.ini` 或 `/etc/apache2/sites-available/000-default.conf` 等文件。
### 6. 开发与调试
现在,你可以在本地的项目文件夹中编辑代码,Docker 中的 Apache 服务器会自动加载这些更改。访问 `http://localhost` 即可查看你的 PHP 应用。
### 注意事项
- 确保 Docker Desktop 已经正确配置了资源(CPU、内存、磁盘),特别是共享驱动器,以便正确挂载本地文件夹。
- 对于更复杂的项目,可能需要创建自定义的 Dockerfile 或使用 Docker Compose 来管理多个服务及其依赖关系。
通过以上步骤,你就可以在 Windows 环境下利用 Docker 快速搭建并运行一个 PHP 开发环境了。