【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站

2023-11-17

本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点。部署过程中使用到了 Docker 、MySQL 。站点搭建完成后经行了发布文章的体验。

WordPress

WordPress 是一个广泛使用的开源内容管理系统(CMS),用于构建和管理网站、博客和其他在线应用。它提供了一个用户友好的界面和丰富的功能,使得创建和管理网站变得简单且灵活。 WordPress 有如下特点和功能:

  1. 简单易用: WordPress 提供直观的用户界面,使得创建、编辑和发布内容变得非常简单。无需编写代码,用户可以使用可视化编辑器创建页面和文章,并通过简单的操作进行内容管理。

  2. 可扩展性: WordPress 具有强大的插件和主题系统,允许用户根据自己的需求扩展和定制网站。有数千个免费和付费的插件和主题可供选择,用于添加新功能、改变外观和样式,以及增强网站的性能和安全性。

  3. 博客功能: WordPress 最初是一个专注于博客的平台,因此在博客功能方面表现出色。它提供了强大的文章管理、分类、标签、评论和 RSS 订阅等功能,使得创建和管理博客变得轻松。

  4. 多用户支持: WordPress 支持多用户功能,允许多个用户在同一个网站上创建和管理内容。这使得 WordPress 成为团队协作和多作者博客的理想选择。

  5. SEO 优化: WordPress 通过优化网站结构、提供友好的 URL、自定义元标签和集成 SEO 插件等功能,有助于提升网站在搜索引擎中的排名。

  6. 活跃的社区: WordPress 拥有庞大且活跃的社区支持,提供了丰富的文档、论坛、博客和教程等资源。用户可以从社区中获取帮助、学习新技术和与其他 WordPress 用户交流。

WordPress 是一个功能强大且灵活的内容管理系统,适用于各种类型的网站和在线应用。它的用户友好性、可扩展性和丰富的插件生态系统,使得创建和管理网站变得更加简单和便捷。

Docker-Compose

在自己喜欢的目录下创建 wordpress 目录,在其中创建 docker-compose.yml 文件,内容如下:

#  docker-compose.yml
version: '3'

services:
    wordpress:
      image: wordpress
      container_name: wordpress
      ports:
        - "8080:80"
      environment:
        WORDPRESS_DB_HOST: mysql  # 因为 docker-compose 会自动把 mysql 的名字用做网络标识,所以在连接数据库的时候该字段就不需要手动指定 IP 地址了,直接用“service”的名字 mysql 就行了。
        WORDPRESS_DB_USER: wp
        WORDPRESS_DB_PASSWORD: 123456
        WORDPRESS_DB_NAME: wp_db

        TZ: Asia/Shanghai
      restart: always
      depends_on:
        - mysql

    mysql:
      image: mysql:5.7
      container_name: mysql
      restart: always
      environment:
        MYSQL_ROOT_PASSWORD: 123456
        MYSQL_DATABASE: wp_db
        MYSQL_USER: wp
        MYSQL_PASSWORD: 123456

        TZ: Asia/Shanghai

目录结构如下:
在这里插入图片描述

启动服务

打开命令行工具,进去 wordpress 目录,运行启动命令: docker-compose up

效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:此过程执行前以提前拉取了 wordpress:latest 和 mysql:5.7 镜像,命令如下:

docker pull wordpress
docker pull mysql:5.7

是否启动正常

使用 docker ps 查看镜像是否启动

PS D:\apps-data\docker\wordpress> docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                  NAMES
668c4a2c6690   wordpress   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:8080->80/tcp   wordpress
b40a0f8e4a6f   mysql:5.7   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   3306/tcp, 33060/tcp    mysql
PS D:\apps-data\docker\wordpress>

如果是在 win 上,使用了docker-desktop ,也可以在 docker-desktop 中查看服务状态:

在这里插入图片描述

最直接的方式是访问 http://localhost:8080/ ,看服务是否能使用。如果启动正常,将看到如下页面:
在这里插入图片描述

WordPress 后台试用

wordpress 启动正常后,第一次使用,需要进行初始化配置。

配置

  • 选择语言
    在这里插入图片描述

  • 录入基本信息
    在这里插入图片描述
    录入完成后,点击 安装wordpress,等待安装完成

  • 安装完成
    在这里插入图片描述

登录

点击安装完成页面中的 登录 按钮,进入登录页面。
在这里插入图片描述
录入信息,进行登录。

进入后的页面

初次进入后台页面,效果如下
在这里插入图片描述

发布文章

在页面左侧找到文章编辑菜单
在这里插入图片描述

点击进入编辑,写一篇文章

在这里插入图片描述

点击右上角的蓝色【发布】按钮即可进行发布,发布时会进行二次信息确认。

博客预览体验

退出登录

访问 http://localhost:8080/ 效果如下:

在这里插入图片描述
可以看到,博客中共有两篇文章,其中《世界,您好!》是wordpress初始化成功后,自动生成的,另一篇《我的第一篇博客》则是刚刚创建的。

点击《我的第一篇博客》标题,即可进入博客详情页面。
在这里插入图片描述

参考资料

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站 的相关文章

随机推荐

  • centos7.5重启网络服务,网卡ip先显示后消失

    ip地址丢失不见 网卡报错 当重启网卡时 Job for network service failed because the control process exited with error code See systemctl sta
  • Qt+百度AI实现人脸识别之人脸检测

    文章目录 简单需求 Demo运行结果 百度AI人脸识别接入 为什么使用百度AI接口 接入步骤 如何获取Access Token Qt软件开发 人脸检测Qt编程步骤 知识点 网络编程 get put post请求方式的区别简述 POST 提交
  • Ubuntu开机启动项的增删改

    一 在重组系统 或者不想开机启动有太多的内核项显示 可以通过修改grub cfg内的内容进行更正 文件路径 boot grub grub cfg 二 grub cfg的详细内容 DO NOT EDIT THIS FILE It is aut
  • 特征选择之过滤式、包裹式、嵌入式

    常见的特征选择方法 特征选择 过滤式选择 包裹式选择 嵌入式选择 特征选择 从原始特征集合中选出对当前学习任务有用的最重要的一些特征 特征选择的原因 1 维度灾难 由于属性过多 导致维数灾难 若通过特征选择 则能大大减轻这一问题 2 降低学
  • 时序预测

    时序预测 MATLAB实现基于Adam算法优化BiLSTM双向长短期记忆神经网络时间序列预测 目录 时序预测 MATLAB实现基于Adam算法优化BiLSTM双向长短期记忆神经网络时间序列预测 效果一览 基本介绍 模型描述 程序设计 学习总
  • 一种罕见的代理程序自身引用死“锁”问题

    在使用sdkd 代理软件时 发现其他网页和程序都能联网 但是代理软件本身无法联网 排查 host dns 网卡 防火墙等 最后锁定在了系统变量上 发现由于之前在使用openai代码的时候设置了引用代理软件自身端口的系统变量 http pro
  • 手机访问静态html页面,手机访问电脑本地静态页面

    如果用webstrom打开一个单独的页面 在浏览器中现实的地址是 如果这恰好是你正在开发的用于移动端的页面 想要在手机上访问以便于测试验证效果 怎么访问到呢 在webstorm的setting中是有相关可设置的 只是我试了不好用 下面有几种
  • eclipse导入后将普通项目变为java项目

    eclipse用subclipse导入svn项目时 没有选择项目类型 这样就不能修改项目的buildpath no action aviliable 打开workspace下面的 projcet文件在标签
  • SparkSQL HiveSQL 常用正则表达式

    SparkSQL HiveSQL 常用正则表达式 目录 SparkSQL HiveSQL 常用正则表达式 1 匹配汉字 2 匹配手机号码 3 匹配身份证 4 SparkSQL HiveSQL 常用正则函数 5 SparkSQL 分组 聚合
  • 期待2021!

    好久没写文章了 甚至好久没有看文章了 要说这些天怎么过去了呢 恍恍惚惚 竟一时语塞 恍惚着 这2020竟马上过去了 好多好多人都写了分享了自己的年终总结 看了一些 大家好像都很有收获 再想想自己 也不能说没有任何收获 但是说不出来 最大的收
  • docker镜像服务器间复制

    概述 我们制作好镜像后 有时需要将镜像复制到另一台服务器使用 能达到以上目的有两种方式 一种是上传镜像到仓库中 本地或公共仓库 但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网的 所以如果使用仓库的方式 只能自己搭建私有仓库 这会
  • SpringBoot+Dubbo分布式SOA项目骨架搭建(二)

    SpringBoot Dubbo分布式SOA项目骨架搭建 项目介绍 本项目是来自于上一篇文章http blog csdn net songxinjianqwe article details 77478385 中的服务化拆分这个部分 经过一
  • QSplitter(分离器或分隔符)

    QSplitter 分离器或分隔符 本文为原创文章 转载请注明出处 或注明转载自 黄邦勇帅 原名 黄勇 本文出自本人原创著作 Qt5 10 GUI完全参考手册 网盘地址 https pan baidu com s 1iqagt4SEC8PU
  • 顺序表的原理与初始化

    顺序表是简单的一种线性结构 逻辑上相邻的数据在计算机内的存储位置也是相邻的 可以 快速定位第几个元素 中间不允许有空值 插入 删除时需要移动大量元素 顺序表的三个要素 用 elems 记录存储位置的基地址 分配一段连续的存储空间 size
  • crontab的使用方法介绍

    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令 例如系统管理员安排一个备份任务使其每天都运行 安装 apt get install cron 服务器环境下默认都会安装 使用 crontab e 进入编辑页
  • java常见面试题及答案 11-20(JVM)

    11 JVM内存分哪几个区 每个区的作用是什么 java虚拟机主要分为以下一个区 方法区 1 有时候也成为永久代 在该区内很少发生垃圾回收 但是并不代表不发生GC 在这里进行的GC主要是对方法区里的常量池和对类型的卸载 2 方法区主要用来存
  • 安全测试初体验-XSS

    XSS XSS攻击成功后 攻击者能够对用户当前浏览器的页面植入恶意脚本 通过恶意脚本 控制用户的浏览器 这些用以完成各种具体功能的恶意脚本 被称为 XSS Payload XSS Payload实际上就是JavaScript脚本 所以任何J
  • JS逆向之某头条jsvmp逻辑层算法分析

    今天我们来研究下 某头条的jsvmp逻辑层加密算法 其主要的目的是想在大家在接触此类算法时 给出点实质性的建议和思路 0x01 分析加密 进入到目标网站通过分析请求会发现一个动态的 signature 加密参数 0x02 定位加密 不同于以
  • 在matlab中编译C++和opencv

    1 在matlab中运行 mex setup命令 选择C 类型 2 运行mex build 此时matlab配置基本完成 3在VS中添加matlab中的库目录和头文件目录 附加库目录 matlab安装目录下面的 extern lib win
  • 【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站

    引 本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点 部署过程中使用到了 Docker MySQL 站点搭建完成后经行了发布文章的体验 WordPress WordPress 是一个广泛使用的开源内容管理系统 CMS