当前位置:

首页 > 系统应用 > Docker实战系列:使用Docker部署mBlog微博系统

Docker实战系列:使用Docker部署mBlog微博系统

本文目录

    一、mBlog介绍1.1 mBlog简介mBlog,全称micro blog.基于ja va+mysql.支持自部署的前后端分离的微博,可单用户使用,也可以支持多用户。1.2 mBlog功能基本的文字/图片输入,支持标签支持对历史博文/标签修改支持单/多用户,支持开启/关闭注册支持博文 登录用户/所

    一、mBlog介绍

    1.1 mBlog简介

    mBlog,全称micro blog.基于ja va+mysql.支持自部署的前后端分离的微博,可单用户使用,也可以支持多用户。

    1.2 mBlog功能

    • 基本的文字/图片输入,支持标签
    • 支持对历史博文/标签修改
    • 支持单/多用户,支持开启/关闭注册
    • 支持博文 登录用户/所有人/只有自己 可见
    • 支持按照标签,作者等条件搜索
    • 支持标签管理(一键改标签,删除无用标签等)
    • 支持上传图片(目前支持本地文件存储和七牛云,后续继续添加阿里云/腾讯云等)
    • 支持开发者使用api token
    • 响应式设计,支持pc和手机,支持夜间模式
    • 支持RSS
    • 支持markdown语法
    • 支持emoji表情
    • 前后端分离,前端和后端域名可以不一致,可以后端部署在nas上,前端部署在cdn.

    1.3 mBlog使用场景

    • 个人博客:mBlog可以作为个人博客的搭建平台,用户可以自主发布、编辑、管理自己的博客内容,并通过微博形式与读者互动和交流。
    • 社交媒体平台:mBlog可以作为一个小型的社交媒体平台,用户可以在其中发布分享自己的生活、工作、兴趣等内容,并与其他用户互动和交流。
    • 内部交流平台:mBlog可以用作内部交流平台,公司、组织或团队成员可以通过mBlog发布公告、分享项目进展、交流工作经验等,提高内部沟通效率。
    • 学术交流平台:研究人员、学生可以使用mBlog发布自己的研究成果、学术观点、科学问题等,实现学术交流和知识分享。
    • 创作者平台:mBlog可以为内容创作者提供一个展示和推广自己作品的平台,包括写作、摄影、绘画、音乐等各种创作形式。
    • 教育平台:mBlog可以作为教育平台,教师可以在其中发布课程内容、课堂笔记、学习资源等,学生可以在其中互相交流讨论、提问问题。
    • 新闻评论平台:mBlog可以作为新闻评论平台,用户可以在其中对新闻事件进行评论、发表观点,进行社会舆论交流。

    二、相关名词介绍

    2.1 Docker介绍

    • Docker简介

    Docker 是一个开源的应用容器引擎,核心价值很直接:把应用程序打包成一个可移植的容器,让部署、测试和运行都变得更顺手。它生成的容器轻量、可移植、可重复使用,性能表现和资源利用率也相当不错。
    Docker 依托操作系统级别的虚拟化技术,可以让同一台物理服务器同时跑多个彼此独立的容器,而且互不干扰。放到构建和部署应用程序这件事上看,Docker 容器提供了一套统一的开发、测试和生产环境,等于把应用程序生命周期管理中最麻烦的部分,直接简化了一大截。
    除了应用容器化能力足够强,Docker 还配套了一整套生态系统,包括容器仓库、镜像管理、容器编排等工具,方便用户更轻松地管理和扩展应用程序。再加上它本身的开放性和可扩展性,Docker 也能和其他云计算、容器化技术顺畅集成,最终成为云原生技术栈里很关键的一环。

    • Docker优点
    1. 简化应用部署:Docker可以将应用及其依赖项打包在一个容器中,使得应用在不同的环境中部署变得更加简单,避免了很多配置和依赖问题。
    2. 提高开发效率:Docker的容器化技术可以提高开发效率,因为开发人员可以在本地构建和测试容器,并且可以在不同的开发环境中轻松共享和重复使用这些容器。
    3. 更好的资源利用与隔离:Docker使用虚拟化技术来隔离应用及其依赖项,保证容器中的应用不会干扰其他应用并且提高资源利用率。
    4. 更快速的部署:将应用部署到Docker容器中后,部署时间可以被缩短到几秒钟的级别,避免了复杂的手动配置,提高了应用的可靠性和可移植性。
    5. 更快速的扩展:Docker容器可以快速地复制和扩展,并且可以自动负载均衡,提高了应用的可扩展性。
    6. 更加安全:Docker容器是安全的,因为它将应用隔离在一个独立的环境中,使得攻击者很难侵入应用的内部,从而保护了应用和其数据的安全。

    2.2 CentOS介绍

    CentOS 是一款基于 Linux 的操作系统,源代码来自 Red Hat Enterprise Linux(RHEL)重建,因此也常被称为 RHEL 的 Community 版。它的定位很明确:提供一个稳定、可靠、免费的企业级操作系统,为企业和个人用户带来兼顾高性能与安全性的解决方案。CentOS 拥有与 RHEL 相同的软件包、库和功能,并且保持兼容,这意味着 RHEL 发布的软件和工具,CentOS 基本都能直接使用。除此之外,它还支持多种平台和架构,包括 x86、x64、ARM 和 PowerPC。再加上它在网络与服务器场景中的表现相当扎实,比如 Web 服务器、邮件服务器、DNS 服务器和文件共享服务器等都能胜任,所以它一直是非常受欢迎的服务器操作系统。

    三、本地环境介绍

    3.1 本地环境规划

    本次实践为个人测试环境,操作系统版本为centos7.6。hostnameIP地址操作系统版本Docker版本jeven192.168.3.166centos 7.620.10.17

    3.2 本次实践介绍

    1.本次实践部署环境为个人测试环境;
    2.在Docker环境下部署mBlog微博系统。

    四、本地环境检查

    4.1 检查Docker服务状态

    检查Docker服务是否正常运行,确保Docker正常运行。
    [root@jeven ~]# systemctl status docker
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
    Active: active (running) since Mon 2023-10-09 04:28:44 CST; 1h 43min ago
    Docs: https://docs.docker.com
    Main PID: 11815 (dockerd)
    Tasks: 36
    Memory: 169.9M
    CGroup: /system.slice/docker.service

    4.2 检查Docker版本

    检查Docker版本,当前Docker版本为20.10.17。
    [root@jeven ~]# docker version
    Client: Docker Engine - Community
    Version: 20.10.17
    API version: 1.41
    Go version: go1.17.11
    Git commit: 100c701
    Built: Mon Jun 6 23:05:12 2022
    OS/Arch: linux/amd64
    Context: default
    Experimental: true

    Server: Docker Engine - Community
    Engine:
    Version: 20.10.17
    API version: 1.41 (minimum version 1.12)
    Go version: go1.17.11
    Git commit: a89b842
    Built: Mon Jun 6 23:03:33 2022
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: 1.6.6
    GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
    runc:
    Version: 1.1.2
    GitCommit: v1.1.2-0-ga916309
    docker-init:
    Version: 0.19.0
    GitCommit: de40ad0

    五、下载mBlog镜像

    在docker hub拉取镜像 kingwrcy/mblog:latest
    docker pull kingwrcy/mblog:latest

    六、部署mBlog

    6.1 创建mBlog容器

    使用以下命令,快速创建mBlog容器。
    docker run  -d 
    -v /data/mblog/data:/opt/mblog
    -p 8633:38321
    --restart=always --name=mblog
    --detach=true
    --env DB_TYPE=-sqlite
    kingwrcy/mblog:latest

    也可以使用docker compose方式进行部署
    version: '3'

    services:
    mblog:
    image: kingwrcy/mblog:latest
    container_name: mblog
    environment:
    DB_TYPE: -sqlite
    ports:
    - "8633:38321"
    volumes:
    - /data/mblog/data:/opt/mblog
    restart: always
    docker compose up -d  #创建mBlog容器

    6.2 查看mBlog容器容器状态

    检查mBlog容器状态,确保mBlog容器正常启动
    [root@jeven ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    e64a564eade6 kingwrcy/mblog:latest "/bin/sh -c 'ja va $J…" 13 seconds ago Up 12 seconds 0.0.0.0:8633->38321/tcp, :::8633->38321/tcp mblog

    6.3 检查容器日志

    使用以下命令,查看容器运行日志。
    docker logs mblog

    七、访问mBlog微博系统

    7.1 访问mBlog首页

    访问地址:http://192.168.3.166:8633/#/,将IP替换为自己服务器IP地址。

    7.2 登录mBlog

    点击登录mBlog,默认管理员账号和密码:admin/a123456。


    7.3 发表微博

    直接在编辑框,编辑微博内容,发表即可。


    7.4 开启评论

    在设置中,开启评论。

    测试在发表的微博下发表评论,可以正常评论。

    八、总结

    使用mBlog的感觉相当不错。作为一个基于Ja va和MySQL的微博平台,它的安装过程虽然需要一点技术知识,但自部署让我能完全掌控数据安全,很适合追求隐私和定制化的用户。前端界面简洁直观,无论是发微博还是浏览他人动态都十分流畅。特别喜欢它既能当私人日记本,又能轻松转换成多人互动的空间,这种单用户到多用户的灵活切换,满足了不同场景的需求。
    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    系统应用 微博
    相关文章 更多
    docker容器自动重启怎么解决 排查原因与修复方法
    docker容器自动重启怎么解决 排查原因与修复方法

    遇到Docker容器频繁自动重启?本文提供从查看容器日志、解读退出代码到配置Restart Policy的完整排查与修复方案,确保服务稳定性。

    Linux设置静态路由命令与永久生效教程
    Linux设置静态路由命令与永久生效教程

    学习如何在Linux中使用命令行添加临时静态路由,并通过修改网络配置文件实现重启后依然有效的永久静态路由设置,涵盖CentOS和Ubuntu的不同配置方法。

    摄像头连接电脑后怎么打开查看实时画面教程
    摄像头连接电脑后怎么打开查看实时画面教程

    摄像头连接电脑后不知如何查看画面?本教程演示如何使用Windows自带的“相机”应用快速调取实时视频流,无需下载额外软件,步骤简单直观,适用于大多数USB及内置摄像头。

    如何在 windows 11 关闭自动关机
    如何在 windows 11 关闭自动关机

    针对 Windows 11 电脑在无人操作时自动关机或重启的问题,本文详解如何通过任务计划程序禁用更新重启任务,并调整电源睡眠策略,从根源解决非预期的自动关机现象。

    电脑摄像头怎么测试人脸识别功能及效果判断方法
    电脑摄像头怎么测试人脸识别功能及效果判断方法

    详细讲解在Windows电脑上测试摄像头人脸识别功能的步骤,包括开启Windows Hello、录入面部数据、不同环境下的效果验证及常见问题排查,帮助用户确认设备兼容性与识别准确率。

    docker 容器无法启动的配置检查命令及排查方法
    docker 容器无法启动的配置检查命令及排查方法

    当 Docker 容器启动后立即退出时,不要盲目重启。本文详解如何通过 docker logs 查看标准输出错误,利用 docker inspect 检查挂载与网络配置,并修正入口点脚本权限问题,提供一套高效的因果排查流程。

    安卓手机投屏到电脑win10怎么设置教程
    安卓手机投屏到电脑win10怎么设置教程

    详解如何利用Windows 10自带功能将安卓手机画面投射至电脑屏幕,涵盖开启步骤、连接技巧及延迟分析,适合临时演示与多屏协作场景。

    移动硬盘解除加密怎么操作?详细步骤教程
    移动硬盘解除加密怎么操作?详细步骤教程

    详细介绍如何在Windows系统中为移动硬盘解除BitLocker加密,包括解锁驱动器、关闭加密功能及监控解密进度的完整操作流程,帮助用户安全移除数据保护。

    笔记本电脑耳机没声音怎么设置?Windows 10解决方法
    笔记本电脑耳机没声音怎么设置?Windows 10解决方法

    本文详解Windows 10笔记本耳机无声音的常见原因与解决方法,涵盖物理接口检查、默认播放设备切换、驱动程序更新及音频增强关闭等操作,并分析蓝牙耳机连接异常的例外场景。

    sata固态硬盘安装win10系统怎么分区详细教程
    sata固态硬盘安装win10系统怎么分区详细教程

    还在为SATA固态硬盘装Win10怎么分区头疼?本教程详解安装过程中的分区步骤,涵盖4K对齐检查、ESP引导分区处理及容量规划建议,助你一次性搞定系统盘,避免后期卡顿与空间浪费。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    WINDOWS 更多
    3dmax(3ds max)
    3dmax(3ds max)
    Windows

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。