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

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

本文将使用流行的博客搭建工具 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: wordpresscontainer_name: wordpressports:- "8080:80"environment:WORDPRESS_DB_HOST: mysql  # 因为 docker-compose 会自动把 mysql 的名字用做网络标识,所以在连接数据库的时候该字段就不需要手动指定 IP 地址了,直接用“service”的名字 mysql 就行了。WORDPRESS_DB_USER: wpWORDPRESS_DB_PASSWORD: 123456WORDPRESS_DB_NAME: wp_dbTZ: Asia/Shanghairestart: alwaysdepends_on:- mysqlmysql:image: mysql:5.7container_name: mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: wp_dbMYSQL_USER: wpMYSQL_PASSWORD: 123456TZ: 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初始化成功后,自动生成的,另一篇《我的第一篇博客》则是刚刚创建的。

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

参考资料

  • wordpress docker
  • wordpress 官网

相关文章:

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

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

Hlang社区-前端社区宣传首页实现

文章目录 前言页面结构固定钉头部轮播JS特效完整代码总结前言 这里的话,博主其实也是今年参与考研的大军之一,所以的话,是抽空去完成这个项目的,当然这个项目的肯定是可以在较短的时间内完成的。 那么废话不多说,昨天也是干到1点多,把这个首页写出来了。先看看看效果吧:…...

【LeetCode-Medium】833. 字符串中的查找与替换

题目链接 833. 字符串中的查找与替换 标签 字符串 步骤 Step1. 初始化 ans[]&#xff1a; for (int i 0; i < s.length(); i) { // 初始化ansans[i] s[i]; }Step2. 根据 index, source, target 查找&#xff1b;如果找到&#xff0c;那么将 ans[i] 更改为 target&am…...

数据结构中公式前中后缀表达式-二叉树应用

目录 数据结构中公式前中后缀表达式-二叉树应用 数据结构中公式前中后缀表达式-二叉树应用 什么是前缀表达式、中缀表达式、后缀表达式 前缀表达式、中缀表达式、后缀表达式&#xff0c;是通过树来存储和计算表达式的三种不同方式 以如下公式为例 通过树来存储该公式&#x…...

Visual Studio 2022连接远程系统进行C/C++开发

Visual Studio被称为是宇宙最强IDE&#xff0c;以前开发Linux C/C服务器程序&#xff0c;基本上都是在Windows上使用VS编写跨平台的C/C代码&#xff0c;然后先在VS中编译、链接、调试&#xff0c;然后在Linux下编译、链接&#xff0c;再针对Linux下的特定代码进行调试。后面Vis…...

TiDB数据库从入门到精通系列之二:TiDB数据库的简介

TiDB数据库从入门到精通系列之二&#xff1a;TiDB数据库的简介 一、TiDB数据库的简介二、五大核心特性三、四大核心应用场景四、TiDB数据库与MySQL数据库的兼容性 一、TiDB数据库的简介 TiDB是开源分布式关系型数据库&#xff0c;是一款同时支持在线事务处理与在线分析处理 (H…...

opencv视频截取每一帧并保存为图片python代码CV2实现练习

当涉及到视频处理时&#xff0c;Python中的OpenCV库提供了强大的功能&#xff0c;可以方便地从视频中截取每一帧并将其保存为图片。这是一个很有趣的练习&#xff0c;可以让你更深入地了解图像处理和多媒体操作。 使用OpenCV库&#xff0c;你可以轻松地读取视频文件&#xff0…...

虹科方案 | 汽车总线协议转换解决方案(二)

上期说到&#xff0c;虹科的PCAN-LIN网关在CAN、LIN总线转换方面有显著的作用&#xff0c;尤其是为BMS电池通信的测试提供了优秀的解决方案。假如您感兴趣&#xff0c;可以点击文末相关链接进行回顾&#xff01; 而今天&#xff0c;虹科将继续给大家带来Router系列在各个领域的…...

[Android] 通过JNI 让 JAVA 调用 android native 接口

前言&#xff1a; JNI (java native interface) 是一个库&#xff0c;可以让 java 代码和其他语言互动&#xff0c;比如 java 通过 JNI 调用融合了 jni库的 c/c 代码&#xff0c;注意&#xff0c;这里要求 c/c代码中必须通过链接 jni 库并按照 JNI 规范定义一套可供 JAVA 调用…...

MySQL高可用MHA

目录 前言 一、概述 二、配置免密、组从复制 三、MHA配置 四、测试 总结 前言 MySQL高可用管理工具&#xff08;MHA&#xff0c;Master High Availability&#xff09;是一个用于自动管理MySQL主从复制的工具&#xff0c;它可以提供高可用性和自动故障转移。MHA由原版的MHA工具…...

DoIP学习笔记系列:(五)“安全认证”的.dll从何而来?

文章目录 1. “安全认证”的.dll从何而来?1.1 .dll文件base1.2 增加客户需求算法传送门 DoIP学习笔记系列:导航篇 1. “安全认证”的.dll从何而来? 无论是用CANoe还是VFlash,亦或是编辑cdd文件,都需要加载一个与$27服务相关的.dll(Windows的动态库文件),这个文件是从哪…...

205、仿真-51单片机直流数字电流表多档位切换Proteus仿真设计(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、原理图 五、程序源码 资料包括&#xff1a; 方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源…...

服务器如何防止cc攻击

对于搭载网站运行的服务器来说&#xff0c;cc攻击应该并不陌生&#xff0c;特别是cc攻击的攻击门槛非常低&#xff0c;有个代理IP工具&#xff0c;有个cc攻击软件就可以轻易对任何网站发起攻击&#xff0c;那么服务器如何防止cc攻击?请看下面的介绍。 服务器如何防止cc攻击&a…...

解读注解@Value占位符替换过程

之前写过一篇关于介绍Spring占位符替换原理的博客&#xff0c;传送门 &#xff1a;Spring的占位符是怎么工作的 在这篇文章基础上&#xff0c;再介绍一下Value替换原理&#xff0c;两篇文章有一定的相关性。 继续以上一篇的工程为例&#xff0c;项目结构一样&#xff0c;这里就…...

浅谈5G技术会给视频监控行业带来的一些变革情况

5G是第五代移动通信技术&#xff0c;能够提供更高的带宽和更快的传输速度&#xff0c;这将为视频技术的发展带来大量机会。随着5G技术的逐步普及与商用&#xff0c;人们将能够享受到更加流畅的高清视频体验&#xff0c;并且5G技术还拥有更低的延迟和更高的网络容量。这些优势不…...

Java常用API---快速达到Java工作水准系列(1)

目录 1.集合 2.包装类 3.日期处理以及格式化 4.字符串处理类 5.数组 5.BigDecimal 6.Math 1.集合 毋庸置疑&#xff0c;集合在实际项目的使用概率几乎是百分之百。无论是用于数据存储和管理、去重和查找亦或是数据检索和遍历&#xff0c;都离不开集合的使用。任何一个项…...

Python中使用隧道爬虫ip提升数据爬取效率

作为专业爬虫程序员&#xff0c;我们经常面临需要爬取大量数据的任务。然而&#xff0c;有些网站可能会对频繁的请求进行限制&#xff0c;这就需要我们使用隧道爬虫ip来绕过这些限制&#xff0c;提高数据爬取效率。本文将分享如何在Python中使用隧道爬虫ip实现API请求与响应的技…...

深入源码分析kubernetes informer机制(四)DeltaFIFO

[阅读指南] 这是该系列第四篇 基于kubernetes 1.27 stage版本 为了方便阅读&#xff0c;后续所有代码均省略了错误处理及与关注逻辑无关的部分。 文章目录 client-go中的存储结构DeltaFIFOdelta索引 keyqueue push操作delta push 去重 queue pop操作 总结 client-go中的存储结构…...

UI设计师个人工作总结范文

UI设计师个人工作总结范文篇一 感受到了领导们“海纳百川”的胸襟&#xff0c;感受到了作为广告人“不经历风雨&#xff0c;怎能见彩虹”的豪气&#xff0c;也体会到了重庆广告从业人员作为拓荒者的艰难和坚定(就目前国内广告业而言&#xff0c;我认为重庆广告业尚在发展阶段并…...

explicit关键字 和 static成员

explicit关键字 和 static成员 1、explicit 关键字2、static成员&#xff08;静态成员变量属于类的&#xff08;只有所属这个类的对象才能修改&#xff09;&#xff0c;不同于全局变量&#xff08;任何对象都能修改&#xff09;&#xff09;2.1 定义和性质2.2 静态成员的使用场…...

鸿蒙仓颉语言开发实战教程:商城应用个人中心页面

又到了高考的日子&#xff0c;幽蓝君在这里祝各位考生朋友冷静答题&#xff0c;超常发挥。 今天要分享的内容是仓颉语言商城应用的个人中心页面&#xff0c;先看效果图&#xff1a; 下面介绍下这个页面的实现过程。 我们可以先分析下整个页面的布局结构。可以看出它是纵向的布…...

Web后端开发(SpringBootWeb、HTTP、Tomcat快速入门)

目录 SpringBootWeb入门 Spring 需求&#xff1a; 步骤&#xff1a; HTTP协议&#xff1a; 概述&#xff1a; 请求协议&#xff1a; 响应协议&#xff1a; 协议解析&#xff1a; Web服务器-Tomcat&#xff1a; 简介&#xff1a; 基本使用&#xff1a; SpringBootWeb…...

opencv学习笔记2:卷积、均值滤波、中值滤波

目录 一、卷积概念 1.定义 2.数学原理 3.实例计算 &#xff08;1&#xff09; 输入与卷积核 &#xff08;2&#xff09;计算输出 g(2,2) 4.作用 二、针对图像噪声的滤波技术——均值滤波 1.均值滤波概念 &#xff08;1&#xff09;均值滤波作用 &#xff08;2&#…...

将单体架构项目拆分成微服务时的两种工程结构

一.独立Project 1.示意图 此时我们创建一个文件夹&#xff0c;在这个文件夹中&#xff0c;创建N个Project&#xff0c;每一个Project对应一个微服务&#xff0c;组成我们的最终的项目。 2.特点 适合那种超大型项目&#xff0c;比如淘宝&#xff0c;但管理负担比较重。 二.Mave…...

Go深入学习延迟语句

1 延迟语句是什么 编程的时候&#xff0c;经常会需要申请一些资源&#xff0c;比如数据库连接、文件、锁等&#xff0c;这些资源需要再使用后释放掉&#xff0c;否则会造成内存泄露。但是编程人员经常容易忘记释放这些资源&#xff0c;从而造成一些事故。 Go 语言直接在语言层…...

基于Scala实现Flink的三种基本时间窗口操作

目录 代码结构 代码解析 (1) 主程序入口 (2) 窗口联结&#xff08;Window Join&#xff09; (3) 间隔联结&#xff08;Interval Join&#xff09; (4) 窗口同组联结&#xff08;CoGroup&#xff09; (5) 执行任务 代码优化 (1) 时间戳分配 (2) 窗口大小 (3) 输出格式…...

【Docker】容器安全之非root用户运行

【Docker】容器安全之非root用户运行 1. 场景2. 原 Dockerfile 内容3. 整改结果4. 非 root 用户带来的潜在问题4.1 文件夹读写权限异常4.2 验证文件夹权限 1. 场景 最近有个项目要交付&#xff0c;第三方测试对项目源码扫描后发现一个问题&#xff0c;服务的 Dockerfile 都未指…...

从webrtc到janus简介

1.基础知识 1.1 信令的基础知识 在 WebRTC&#xff08;Web Real-Time Communication&#xff09; 中&#xff0c;信令&#xff08;Signaling&#xff09; 是实现浏览器之间实时通信的关键机制&#xff0c;负责在通信双方&#xff08;或多方&#xff09;之间传递控制信息&…...

Redis :String类型

String类型 String是Redis中的字符串&#xff0c;是Redis中最基本的数据类型&#xff0c;直接是按照二进制数据的进行存储 Redis中的所有key都是String类型&#xff0c;但是value是有差别的 常见的命令 set 将String类型的value存储到key中&#xff0c;如果之间有相同的ke…...

前端(vue)学习笔记(CLASS 7):vuex

vuex概述 vuex是一个vue的状态管理工具&#xff0c;状态就是数据 大白话&#xff1a;vuex是一个插件&#xff0c;可以帮我们管理vue通用的数据&#xff08;多组件共享的数据&#xff09; 场景 1、某个状态在很多个组件来使用&#xff08;个人信息&#xff09; 2、多个组件…...