利用Docker-Compose部署WordPress

文章目录

  • [1. 实战概述](#1. 实战概述)
  • [2. 实战步骤](#2. 实战步骤)
    • [2.1 创建配置文件目录](#2.1 创建配置文件目录)
    • [2.2 创建Docker编排配置文件](#2.2 创建Docker编排配置文件)
    • [2.3 构建WordPress项目](#2.3 构建WordPress项目)
    • [2.4 安装WordPress](#2.4 安装WordPress)
    • [2.5 使用WordPress](#2.5 使用WordPress)
      • [2.5.1 登录WordPress](#2.5.1 登录WordPress)
      • [2.5.2 创建并发布文章](#2.5.2 创建并发布文章)
    • [2.6 查看wordpress数据库](#2.6 查看wordpress数据库)
    • [2.7 停止并移除WordPress容器不保留命名卷](#2.7 停止并移除WordPress容器不保留命名卷)
  • [3. 实战总结](#3. 实战总结)

1. 实战概述

  • 本实战通过 Docker Compose 部署 WordPress 与 MySQL 容器,配置端口映射、数据库用户及数据持久化,成功实现本地博客系统的搭建、安装、文章发布与数据库验证,并演示了使用 docker-compose down --volumes 彻底清理环境的完整流程。

2. 实战步骤

2.1 创建配置文件目录

  • 执行命令:mkdir wordpress_config

2.2 创建Docker编排配置文件

  • 执行命令:cd wordpress_config

  • 执行命令:notepad docker-compose.yml,在记事本窗口里编写配置文件

    yml 复制代码
    services:
       db:
         image: mysql:8.0
         volumes:
           - db_data:/var/lib/mysql
         restart: always
         ports:
           - "3308:3306"
         environment:
           MYSQL_ROOT_PASSWORD: 903213
           MYSQL_DATABASE: wordpress
           MYSQL_USER: wordpress
           MYSQL_PASSWORD: 903213
       wordpress:
         depends_on:
           - db
         image: wordpress:latest
         ports:
           - "8000:80"
         restart: always
         environment:
           WORDPRESS_DB_HOST: db:3306
           WORDPRESS_DB_USER: wordpress
           WORDPRESS_DB_PASSWORD: 903213
           WORDPRESS_DB_NAME: wordpress
    volumes:
        db_data: {}
  • 配置说明 :此配置通过 Docker Compose 启动一个 WordPress 网站和 MySQL 数据库服务。数据库(MySQL 8.0)映射宿主机3308端口,设置root密码及wordpress专用用户。WordPress容器连接数据库,并通过宿主机8000端口提供服务。数据卷db_data用于持久化数据库数据,确保数据在容器重启后依然保留。所有服务均设为自动重启,以保证高可用性。

2.3 构建WordPress项目

  • 执行命令:docker-compose up -d

  • 结果说明 :执行 docker-compose up -d 后,Docker 成功创建并启动了 WordPress 项目的所有组件:网络、数据卷、MySQL 容器和 WordPress 容器。四个任务均顺利完成,服务已运行在后台,端口映射生效(3308:3306 和 8000:80),系统可正常访问数据库和 Web 服务,部署流程成功完成。

  • 执行命令:docker ps -a --filter "name=wordpress"

  • 结果说明 :执行 docker ps -a --filter "name=wordpress" 后,成功显示名称包含"wordpress"的容器。结果显示 WordPress 和 MySQL 容器均已启动并运行正常,状态为 Up,端口映射正确(8000:80 和 3308:3306),服务部署成功,可通过浏览器访问 http://localhost:8000 进行 WordPress 安装与使用。

2.4 安装WordPress

  • 在浏览器里访问http://localhost:8000/wp-admin/install.php
  • 在列表框里选择简体中文
  • 单击【继续】按钮,在窗口里设置相应信息
  • 单击【安装WordPress】按钮

2.5 使用WordPress

2.5.1 登录WordPress

  • 单击【登录】超链接,输入用户名和密码
  • 单击【登录】按钮

2.5.2 创建并发布文章

  1. 查看文章列表
  2. 查看指定文章内容
  3. 写一篇文章
    • 返回文章列表页面

    • 单击【写文章】按钮

    • 添加标题和文章内容

    • 单击【发布】按钮

    • 单击【发布】按钮

    • 查看文章列表

2.6 查看wordpress数据库

  • 创建数据库连接 - WordPressMySQL
  • 查看wordpress数据库
  • 查看wp_posts表记录

2.7 停止并移除WordPress容器不保留命名卷

  • 执行命令:docker-compose down --volumes
  • 结果说明 :执行 docker-compose down --volumes 后,Docker 成功停止并删除了 WordPress 和 MySQL 容器、默认网络以及数据卷 wordpress_config_db_data。该操作彻底清理了所有相关资源,包括持久化数据,适用于环境重置或完全卸载场景,确保无残留文件和配置。

3. 实战总结

  • 本次实战基于 Docker Compose 成功部署了 WordPress 与 MySQL 8.0 的完整应用环境。通过合理配置 docker-compose.yml,实现了数据库初始化、服务依赖管理、端口映射(3308:3306 和 8000:80)及数据持久化。系统启动后,通过浏览器顺利完成 WordPress 安装、中文设置、用户登录、文章创建与发布等核心操作,并在 Navicat 中验证了数据库中 wp_posts 表的数据写入,确认前后端数据一致性。最后,使用 docker-compose down --volumes 命令彻底清除容器、网络和数据卷,实现环境的干净卸载。整个过程展示了容器化部署 Web 应用的高效性、可移植性与易维护性,为开发测试和教学提供了标准化实践范例。
相关推荐
李纲明19 小时前
WordPress 站点变慢:按 TTFB → 缓存 → 查询 → 前端 分层排查(含配置注意)
前端·缓存·性能优化·wordpress·后端开发
程序员老赵21 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
梦想不只是梦与想6 天前
docker-compose.yml
docker·docker-compose·docker run
object not found10 天前
WooCommerce 接入 KPay 后订单完成页不显示订单信息:returnUrl 动态参数问题解决
前端·wordpress·独立站支付
皓月盈江13 天前
WordPress博客迁移到Hexo静态博客教程
linux·服务器·hexo·wordpress·博客迁移·静态博客
boke112百科23 天前
WordPress经典编辑器【插入至文章】按钮怎么调到右上角?
编辑器·wordpress·wordpress教程·经典编辑器
Rainy Blue8831 个月前
从零搭建个人动态博客
博客·wordpress
hui-梦苑1 个月前
[PHP]轻量主题函数WordPress 集成 KaTeX 数学公式渲染
开发语言·php·wordpress·katex
VIP_CQCRE1 个月前
用 Ace Data Cloud 把 WordPress 变成你的 AI 内容营销中枢
ai·seo·wordpress·内容营销·ace data cloud
AugustSkys1 个月前
Docker从入门到实战(下):一张网讲透网络、存储、监控与Compose编排
docker·docker-compose·数据卷·portainer·容器网路