当前位置:

首页 > 系统应用 > 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的微博平台,它的安装过程虽然需要一点技术知识,但自部署让我能完全掌控数据安全,很适合追求隐私和定制化的用户。前端界面简洁直观,无论是发微博还是浏览他人动态都十分流畅。特别喜欢它既能当私人日记本,又能轻松转换成多人互动的空间,这种单用户到多用户的灵活切换,满足了不同场景的需求。
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    系统应用 微博
    相关文章 更多
    微博怎么发布作品:图文微博发布详细教程
    微博怎么发布作品:图文微博发布详细教程

    面向需要在微博发布图文内容的用户,明确普通图文微博与头条文章的区别,解决入口混淆问题。本文介绍通过首页“写微博”进入编辑页,输入文字、从相册添加图片并授权访问,最后确认可见范围后点击发送的完整流程,帮助用户快速完成作品发布并验证状态。

    如何在微博发长文
    如何在微博发长文

    微博发布长文有多种实用方法:可将文字转为高清长图,或拼接分段长图以突出视觉逻辑;也可使用官方头条文章功能自由排版,不受字数限制;还可将内容转为口播视频或幻灯片以增强传播效果,或按逻辑拆分为系列微博连续发布。这些方式均能突破平台字数限制,适应不同内容需求。

    微博热议谁取消了有线耳机:音质稳定与实用价值引用户集体怀
    微博热议谁取消了有线耳机:音质稳定与实用价值引用户集体怀

    微博话题“到底是谁取消有线耳机的”引发热议。用户怀念有线耳机音质稳定、无需充电、不易丢失、可自由搭配等优点,认为其体验优于同价位蓝牙耳机。尽管TWS耳机普及,有线耳机仍因无延迟、连接稳定等特性不可替代。

    微博怎么设置分组
    微博怎么设置分组

    微博关注人分组管理方法 微博提供五种分组管理方法:一、从“关注”页创建并分配;二、在好友主页即时设置;三、通过“我→好友→分组管理”批量操作;四、利用“未分组”入口统一归类;五、网页端新建与编辑分组。 想不想让你的微博信息流变得更清爽、更有针对性?关键在于用好分组功能。对已关注的用户进行分类管理,不

    微博怎么关闭推送
    微博怎么关闭推送

    微博推送可按需关闭:一、在“推送通知设置”中关闭总开关;二、在该页面关闭“互动消息”等具体类型;三、从“消息”页进入“消息设置”关闭提醒;四、在手机系统设置中关闭微博通知权限;五、在“消息设置”中关闭超话、圈子等附加通知。 刷微博时,是不是感觉手机总在“嗡嗡”响个不停?各种@、评论、点赞、超话更新的

    微博电商号开通指南
    微博电商号开通指南

    微博的电商功能其实门槛不高,只要开通电商账号,就能轻松上手带货。下面就是具体的操作流程,一步步来就行。 1、先登录微博,输入手机号和验证码,直接进入主页。 2、打开消息栏,找到微博电商发来的私信,点进去看看内容。 3、进入系统消息,点击里面的电商网页链接,就能开启功能了。 4、查看电商号的详细信息,

    微博怎么设置主页背景图片
    微博怎么设置主页背景图片

    想让自己的微博主页更有辨识度,换一张背景图是最直接的办法。无论是你喜欢的偶像、治愈系风景,还是自己设计的原创壁纸,一张合适的背景图都能让主页瞬间“活”起来。不过,不少刚入坑微博的新手可能还不太清楚具体怎么操作。别急,下面就来聊聊全端口的详细设置方法,手机和电脑都照顾到了。 微博如何设置主页背景图片

    微博 php7,PHP_迁移PHP版本到PHP7,今天看到微博上说phpng也就是ph - phpStudy
    微博 php7,PHP_迁移PHP版本到PHP7,今天看到微博上说phpng也就是ph - phpStudy

    本次将PHP版本从5.5.19迁移至PHP7,在腾讯云低配置服务器(单核2.6GHz,2G内存)上使用ab工具进行压力测试(100并发,100请求)。PHP5版本的每秒查询数为2.09,最高负载3.0;PHP7版本的每秒查询数为3.67,最高负载2.05。性能提升明显,但测试数据仅供大致参考。

    微博手机版设置查看并删除不要的定时发布的微博动态的方法
    微博手机版设置查看并删除不要的定时发布的微博动态的方法

    微博APP和网页版均支持定时发布,移动端限7天、PC端限14天,待发队列最多20条,间隔需超1分钟。已设微博可在“定时微博”管理页面查看、编辑或删除(会员专享),普通用户仅限查看。

    微博手机版设置添加我的工作信息的方法
    微博手机版设置添加我的工作信息的方法

    在微博手机版中,通过“我的”进入“完善资料”,找到“工作信息”并添加公司、部门、职务和城市,即可快速完善个人职业背景,提升账号可信度与社交吸引力,助力拓展高质量社交圈,操作简便,效果显著。

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

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

    Windows
    Windows

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

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。