文章目录
-
- [✅ 功能亮点](#✅ 功能亮点)
- [🧱 项目结构](#🧱 项目结构)
- [📦 完整 `docker-compose.yml`](#📦 完整
docker-compose.yml
) - [🐘 Dockerfile(选择 PHP 版本)](#🐘 Dockerfile(选择 PHP 版本))
- [⚙️ 自定义 php.ini](#⚙️ 自定义 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
。
yaml
version: '3.3'
services:
wordpress:
build:
context: ./wordpress
dockerfile: Dockerfile
container_name: wordpress
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
- ./data/wordpress:/var/www/html
- ./php.ini:/usr/local/etc/php/php.ini
depends_on:
- db
db:
image: mysql:5.7
container_name: wordpress_db
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
- ./data/mysql:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- "8081:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpassword
depends_on:
- db
🐘 Dockerfile(选择 PHP 版本)
你可以使用 WordPress 官方镜像的 PHP 变体,例如 PHP 8.1、8.2 或 7.4:
wordpress/Dockerfile
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
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,然后在项目根目录运行:
bash
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