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

news2025/1/19 22:18:02

本文将使用流行的博客搭建工具 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初始化成功后,自动生成的,另一篇《我的第一篇博客》则是刚刚创建的。

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

参考资料

  • wordpress docker
  • wordpress 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/884252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深入理解ES6】块级作用域绑定

1. var声明及变量提升机制 提升(Hoisting)机制:通过关键字var声明的变量,都会被当成在当前作用域顶部生命的变量。 function getValue(condition){if(condition){var value "blue";console.log(value);}else{// 此处…

7-2 成绩转换

分数 15 全屏浏览题目 切换布局 作者 沈睿 单位 浙江大学 本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则: 大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小…

RK3568 ubuntu18.04环境搭建

一.打开Window10虚拟化功能 打开Windows 10控制面板,选择“应用“ 点击右上角“程序与功能” 点击“启用或关闭Windows 功能”,勾选“适用于Linux 的Windows 子系统”和“虚 拟机平台” 二.VMware新建虚拟机 打开Vmware,选择“创建新的虚拟机” 选择“…

tk-mybatis使用介绍,springboot整合tk-mybatis、PageHelper实现分页查询

Mybatis-Plus极大简化了我们的开发,作为mybatis的增强版,Mybatis-Plus确实帮我们减少了很多SQL语句的编写,通过其提高的API,可以方便快捷第完成增删查改操作。但是,其实除了Mybatis-Plus以外,还有一个技术t…

TikTok带货有什么优势?品牌营销的新趋势

在当今数字化时代,品牌营销正日益倾向于社交媒体平台,而TikTok作为一款全球热门的短视频社交平台,正在成为品牌营销的新趋势。TikTok带货,也就是品牌利用TikTok平台进行商品推广和销售,已成为一种创新的、高效的营销方…

BaseMapper的insert方法快速插入数据未提交问题

一、前言 今天测试一批日志数据插入数据库,发现通过BaseMapper的int insert(T entity);方法在大量数据进行插入的时候插入的数据变成了未提交。意思就是程序运行insert成功,但是数据库里却没有数据。当一条一条数据插入的时候却是可以的,循环…

Linux下设计简易线程池

Linux下设计简易线程池 文章目录 Linux下设计简易线程池1.介绍2.具体实现2.1任务类头文件Task.hpp2.2线程池文件ThreadPool.hpp2.3主函数Main.cc 1.介绍 ​ 线程池是一种池化技术,是消费者生产者模型的具体体现。它能够预先创建一批能够被重复使用的线程&#xff0…

Java是编译型还是解释型

定义 编译语言(英语:Compiled language)是一种程式语言类型,通过编译器来实作。它不像直译语言一样,由直译器将程式码一句一句执行,而是以编译器,先将程式码编译为机器码,再加以执行…

麦肯锡发布《2023年度科技报告》!

在经历了 2022 年技术投资和人才的动荡之后,2023 年上半年,人们对技术促进商业和社会进步的潜力重新燃起了热情。生成式人工智能(Generative AI)在这一复兴过程中功不可没,但它只是众多进步中的一个,可以推…

世纪之争:量子物理学解决了「黑洞悖论」

在黑洞内部,20 世纪物理学的两大理论支柱似乎发生了冲突。现在,一群年轻的物理学家认为,他们通过诉诸新世纪的中心支柱——量子信息物理学,已经解决了这一冲突。 2013 年 8 月,数十位著名理论物理学家齐聚加利福尼亚州…

Cpp学习——string模拟实现

目录 一,string的成员变量 二,string的各项功能函数 1.构造函数 2.析构函数 3.扩容函数 4.插入与删除数据的函数 5.运算符重载 6.打印显示函数 7,拷贝构造 8.find函数 一,string的成员变量 在模拟实现string之前&#xff…

怎么把视频转gif图片?视频在线转gif动图的方法

我们在使用gif动图的时候,经常发现有些图片是一些视频片段,那么视频转gif图是怎么制作的呢?可以使用视频转gif工具,市面上许多软件都可以完成,今天就给大家介绍一个视频在线转gif的方法,省去了下载安装的时…

LangChain手记 Question Answer 问答系统

整理并翻译自DeepLearning.AILangChain的官方课程:Question Answer(源代码可见) 本节介绍使用LangChian构建文档上的问答系统,可以实现给定一个PDF文档,询问关于文档上出现过的某个信息点,LLM可以给出关于该…

redis事务对比Lua脚本区别是什么

redis官方对于lua脚本的解释:Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别…

SABO-ELM电力负荷短期预测,MATLAB代码

关于电力负荷预测,后台留言的呼声很高。今天就为大家带来一期关于电力负荷预测的文章。 简介 简单说一下本期内容: ①对电力负荷数据进行处理 ②采用极限学习机(ELM)对电力负荷数据进行训练和预测 ③采用减法平均优化器算法优化极限学习机的权值阈值&…

【Linux命令详解 | du命令】 du命令用于查看文件或目录的磁盘使用情况,帮助管理存储空间。

文章标题 简介一,参数列表二,使用介绍1. 基本用法2. 以人类可读的格式显示大小3. 显示总计磁盘使用量4. 包括每个文件的大小5. 限制显示的目录深度6. 排除特定文件或目录7. 指定块大小总结 简介 在Linux操作系统中,存储空间管理是至关重要的…

docker打包运行中的容器,生成镜像文件保存到本地

因为想着方便部署,将所有没问题的项目容器打包成镜像,走到哪儿都离线安装自动部署。 第一步先把运行中的容器打包成镜像 docker commit 运行中容器id 像打包成的镜像名称第二步将大象装进冰箱,不好意思说错了,把镜像保存到本地 …

spring框架核心技术讲解--超详细教程加案例分析

目录 一.spring简介 1.1 含义: 1.2 优点 1.3 官方网站:Spring | Why Springhttps://spring.io/why-spring 二.spring 控制反转IOC(依赖注入)的特点 2.1 控制反转是什么 2.2 案例(讲解控制反转) 三.sprin…

35_windows环境debug Nginx 源码-CLion配置CMake和启动

文章目录 生成 CMakeLists.txt 组态档35_windows环境debug Nginx 源码-CLion配置CMake和启动生成 CMakeLists.txt 组态档 修改auto目录configure文件,在 . auto/make 上边增加 . auto/cmake, 大概在 106 行。在 auto 目录下创建cmake 文件其内容如下: #!/usr/bin/env bash NG…

BLIP-Diffusion

论文大意 BLIP2 结合 Stable Diffusion,实现 主题驱动的图像生成与编辑。 分为两个阶段: 1.BLIP2 的multimodal encoder 输出与 text对齐的 visual representation; 2.上述生成的 特征 与 text embedding 共同引导 Stable Diffusion 的生…