一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 自定义配置)
文章目录
- ✅ 功能亮点
- 🧱 项目结构
- 📦 完整 `docker-compose.yml`
- 🐘 Dockerfile(选择 PHP 版本)
- ⚙️ 自定义 php.ini
- 🚀 启动项目
- 📌 常见问题 & 提示
- ✅ 总结
想快速搭建一个 WordPress 环境?这篇文章将带你一步步实现:使用 Docker Compose
一键部署 WordPress、MySQL 和 phpMyAdmin,同时支持指定 PHP 版本和自定义 php.ini
配置。
✅ 功能亮点
- 🚀 一键启动 WordPress + MySQL + phpMyAdmin
- 🧩 可选 PHP 版本(通过自定义 Dockerfile)
- ⚙️ 自定义
php.ini
配置 - 💾 数据持久化保存到本地目录
- 🔐 所有配置开箱即用
🧱 项目结构
首先,我们建议使用如下目录结构:
project-root/
├── docker-compose.yml # 核心 Docker 配置
├── php.ini # PHP 自定义设置
├── wordpress/ # WordPress Dockerfile 存放处
│ └── Dockerfile
└── data/ # 数据卷├── wordpress/ # WordPress 文件(自动生成)└── mysql/ # MySQL 数据(自动生成)
📦 完整 docker-compose.yml
这是本项目的核心配置,定义了三个服务:wordpress
、db
(MySQL)和 phpmyadmin
。
version: '3.3'services:wordpress:build:context: ./wordpressdockerfile: Dockerfilecontainer_name: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_NAME: wordpressWORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: wordpressvolumes:- ./data/wordpress:/var/www/html- ./php.ini:/usr/local/etc/php/php.inidepends_on:- dbdb:image: mysql:5.7container_name: wordpress_dbrestart: alwaysenvironment:MYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpressMYSQL_ROOT_PASSWORD: rootpasswordvolumes:- ./data/mysql:/var/lib/mysqlphpmyadmin:image: phpmyadmin/phpmyadmincontainer_name: phpmyadminrestart: alwaysports:- "8081:80"environment:PMA_HOST: dbMYSQL_ROOT_PASSWORD: rootpassworddepends_on:- db
🐘 Dockerfile(选择 PHP 版本)
你可以使用 WordPress 官方镜像的 PHP 变体,例如 PHP 8.1、8.2 或 7.4:
wordpress/Dockerfile
# 使用 PHP 8.1 的 WordPress 镜像
FROM wordpress:php8.1-apache# 安装 mysqli 扩展(可按需添加更多扩展)
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
⚙️ 自定义 php.ini
如果你需要调整上传大小、内存限制等,可以创建一个 php.ini
文件:
php.ini
upload_max_filesize = 1024M
post_max_size = 1024M
memory_limit = 256M
max_execution_time = 300
该文件会在容器中挂载到 /usr/local/etc/php/php.ini
,自动生效。
🚀 启动项目
确保你已经安装了 Docker 和 Docker Compose,然后在项目根目录运行:
docker-compose up -d
启动成功后:
- 🖥️ 访问 WordPress:http://localhost:8080
- 🛠️ 访问 phpMyAdmin:http://localhost:8081(登录用户名
root
,密码rootpassword
)
📌 常见问题 & 提示
-
如何更换 PHP 版本?
修改Dockerfile
中的FROM
行,例如换成wordpress:php7.4-apache
。 -
WordPress 文件修改后不生效?
确保./data/wordpress
目录存在并具有正确权限(尤其是在 Linux 下)。 -
php.ini 没生效?
检查是否正确挂载,并重启容器docker-compose restart wordpress
。
✅ 总结
通过上述配置,你可以快速搭建一个可自定义的 WordPress 环境,无需繁琐手动配置数据库或 PHP 设置。
如果你觉得这篇文章对你有帮助,欢迎收藏、分享或留言交流!
提示:更多内容可以访问Clang’s Blog:https://www.clang.asia