当前位置: 首页 > news >正文

一键搭建 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

这是本项目的核心配置,定义了三个服务:wordpressdb(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

相关文章:

  • Python Flask文件处理与异常处理实战指南
  • 附加模块--Qt Shader Tools功能及架构解析
  • 技术栈Etcd的介绍和使用
  • Python 包管理器 uv 介绍
  • LeetCode面试经典150题—合并两个有序数组—LeetCode88
  • 实验四:图像灰度处理
  • LLMs之Structured Output:vLLM 结构化输出指南—从约束生成到自动解析与高效实现
  • 信号与传输介质
  • 基于fpga的疲劳驾驶检测
  • 06. C#入门系列【自定义类型】:从青铜到王者的进阶之路
  • 【LeetCode 热题100】字符串 DP 三连:最长回文子串、最长公共子序列 编辑距离(力扣5 / 1143/ )(Go语言版)
  • 【量化】策略交易 - 均线策略(Moving Average Strategy)- 代码增强版本
  • 整数的字典序怎么算
  • AUTOSAR实战教程--DoIP_02_诊断链路建立流程
  • 使用vs2022中自带的sqlserver,并在docker中安装mssql-server 并配置相关信息
  • [特殊字符] Whisper 模型介绍(OpenAI 语音识别系统)
  • 【面试题】如何保证MQ的消息不丢失、不重复
  • HTML前端开发:JavaScript 获取元素方法详解
  • RabbitMQ fanout交换机
  • 【 SpringCloud | 微服务 MQ基础 】
  • 网站建设与维护 前台/全网营销推广靠谱吗
  • 自己做的网站放在服务器哪里/国内永久免费云服务器
  • 经营性网站备案上海/百度帐号登录
  • 做网站私活多少钱/怎么做游戏推广员
  • 自己有网站怎么做点卡?/西安关键词快速排名
  • 网站免费空间哪里申请/如何发布自己的广告