利用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 应用的高效性、可移植性与易维护性,为开发测试和教学提供了标准化实践范例。
相关推荐
Web极客码1 天前
如何在 WordPress 中设置会员内容:简单两步实现注册用户专属访问
运维·wordpress·网站管理·网站维护
飞翔沫沫情2 天前
MinIO 新版本 Docker 部署指南:告别 Web 控制台,拥抱 CLI 管理
docker·容器·docker-compose·对象存储·minio
WordPress学习笔记2 天前
经典免费的wordpress模板
wordpress
Web极客码3 天前
修复WordPress“Cookies Are Blocked Due to Unexpected Output”错误的全攻略
wordpress·wordpress主题·网站运维
gpldock2225 天前
The ROI-Driven Agency‘s Secret Weapon: 2024 WordPress Stack for Conversions
wordpress
WordPress学习笔记6 天前
简洁易用适合新手的wordpress主题模板
wordpress
IT运维爱好者6 天前
docker-compose部署MySQL主从复制集群
mysql·docker-compose
探索宇宙真理.6 天前
WordPress FS注册密码漏洞 | CVE-2025-15001 复现&研究
经验分享·开源·wordpress·安全漏洞
WordPress学习笔记7 天前
给wordpress网站的图片加alt标签
wordpress
凉风听雪7 天前
WordPress+Elementor+Woocommerce配置产品聚合页和分类页多项筛选产品功能
wordpress·外贸·独立站·b to b