【Docker】搭建强大易用的个人博客 - Halo

news2024/11/24 6:53:11

【Docker】搭建强大易用的个人博客 - Halo

前言

本教程基于绿联的NAS设备DX4600 Prodocker功能进行搭建,采用Halo + MySQL实例作为演示。

简介

Halo [ˈheɪloʊ] 是一个简洁,现代,快速且非常灵活的建站工具,它是由一位中国开发者制作并开源,使用Java语言开发。Halo主要用于搭建博客网站,它开箱即用,同时又提供了丰富的配置选项,可以满足各种定制化需求。

主要特点如下:

  • 简洁现代:Halo的界面设计非常简洁、现代,给人一种非常舒适的使用体验。同时,其代码结构也非常清晰,方便开发者进行定制和开发。

  • 强大的编辑器:Halo提供了Markdown和富文本两种编辑器,可以满足不同用户的需求。同时,其Markdown编辑器支持实时预览,使写作更加方便。

  • 多主题支持:Halo支持多种主题,用户可以根据自己的喜好选择。同时,Halo还支持自定义主题,用户可以自由创造。

  • 自带统计功能:Halo内置了访问量统计功能,用户可以清晰看到自己的网站访问情况。

  • 多平台发布:Halo提供了多种发布方式,支持Docker、JAR包、一键部署到云服务器等。

  • 开源免费:Halo是完全开源的,用户可以免费使用,同时也可以参与到Halo的开发中来。

总的来说,Halo是一个非常优秀的建站工具,无论是对于个人博客,还是对于小型企业网站,Halo都是一个非常好的选择。

部署

  1. 在“本地镜像”中添加halohub/halo:2.11.1​​镜像。

    目前 Halo 2 并未更新 Docker 的 latest 标签镜像,主要因为 Halo 2 不兼容 1.x 版本,因此我们需要在“本地镜像”中添加固定版本的标签镜像。

    ​​

  2. 在“镜像管理”中的“本地镜像”找到刚添加的镜像halohub/halo:2.11.1​,点击“创建容器”。

  3. 勾选“创建后启动容器”,然后直接点击“下一步”。

    ​​

  4. 将“基础设置”中的重启策略配置成“容器退出时总是重启容器”

  5. 在“命令”中输入以下命令

    如忽略此步骤,则默认 H2 数据库,在生产环境我们不推荐使用 H2 数据库,这可能因为操作不当导致数据文件损坏。

    参数名

    描述

    spring.r2dbc.url​​

    数据库连接地址,请根据自己数据库的实际地址进行修改。

    spring.r2dbc.username​​

    数据库用户名

    spring.r2dbc.password​​

    数据库密码,请根据自己数据库的实际密码进行修改。

    spring.sql.init.platform​​

    数据库平台名称

    --spring.r2dbc.url=r2dbc:pool:mysql://{host}:{port}/{database}
    --spring.r2dbc.username=root
    --spring.r2dbc.password={password}
    --spring.sql.init.platform=mysql
    

    ​​

  6. 在NAS中创建一个目录,用于保存halo的配置和我们的数据,在“存储空间”内与容器的/root/.halo2​​装载路径建立映射,并配置为“读写”类型。

    /root/.halo2​​为固定路径,不可修改!

    ​​

  7. 在“端口设置”中进行端口配置,“本地端口”指的是我们实际访问时要用到的端口,可以根据自己喜好进行配置,只要不与其他服务的端口有冲突就行。

    此处演示时使用的“本地端口”是“8090”端口,如不清楚端口是否被占用则默认“自动”即可。

    ​​

  8. 在“环境”中,点击“添加”,增加一行,名称:MYSQL_ROOT_PASSWORD​,值:{password},然后直接点击“下一步”。

    此处演示时使用的密码是“o#DwN&JSa56”,需要根据自己实际使用情况进行修改。

    此处的密码需要与前面“命令”中spring.r2dbc.password​参数的值保持一致!

  9. 在浏览器中输入{IP}:{Port}​,即可访问。

    ​​​​

相关链接

  • 官网:https://halo.run

  • 文档:https://docs.halo.run

  • 社区:https://bbs.halo.run

  • 主题仓库:https://halo.run/themes.html

  • 开源地址:https://github.com/halo-dev/halo

文章出处:https://blog.uptoz.cn/archives/NBbHBfXH
作者原创:@小小笔记大大用处 https://blog.uptoz.cn

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

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

相关文章

HTML常用的图片标签和超链接标签

目录 一.常用的图片标签和超链接标签: 1.超链接标签: 前言: 超链接的使用: target属性: 1)鼠标样式: 2)颜色及下划线: 总结: 2.图片标签: 前言: img的使用: 设置图片: 1.设置宽度和高度: 2.HTM…

改进的图像LSB加密算法:Matrix encoding embedding

参考文献1 Visually secure image encryption using adaptive-thresholding sparsification and parallel compressive sensing 算法实现 简单说明 算法步骤概述 定义函数f:这个函数用于计算给定码字b的一个特定值,此值将与秘密信息x进行比较。这个计算涉及到将码字b的每一…

突发: xz-utils 被注入后门 (CVE-2024-3094)

Andres Freund 在 2024 年 3 月 29 日发现了一个在 xz-utils 注入的后门;使用了 xz/lzma 5.6.0 / 5.6.1 的项目皆受影响。 杀伤力: 当前还未完全清楚;但 openssh 的 sshd 首当其冲;注入的代码会 Hook OpenSSH 的 RSA_public_decrypt 函数&a…

开源推荐榜【Taichi 专为高性能计算机图形学设计的编程语言】

Taichi是一个高性能的并行编程语言,它被嵌入在Python中,使得开发者能够轻松编写可移植的、高性能的并行程序。这个库的核心优势在于它能够将计算密集型的Python代码在运行时通过即时编译器(Just-In-Time, JIT)转换成快速的机器代码,从而加速P…

上岸美团了!

Hello,大家好,最近春招正在如火如荼,给大家分享一份美团的面经,作者是一份某双非的硕(只如初见668),刚刚通过了美团的3轮面试,已经拿到offer,以下是他的一些分享。 一面&…

大数据学习-2024/3/30-MySQL5.6版本的安装

1、下载好文件后打开bin目录: 2、在这个位置进入输入cmd进入命令行界面,进入命令行界面后输入如下:mysqld install 进行数据库安装: 注意:显示Service successfully installed表示安装成功 3、安装好后启动服务&…

解决前后端通信跨域问题

因为浏览器具有同源策略的效应。 同源策略是一个重要的网络安全机制,用于Web浏览器中,以防止一个网页文档或脚本来自一个源(域、协议和端口),获取另一个源的数据。同源策略的目的是保护用户的隐私和安全,防…

GIt的原理和使用(五):模拟多人协作的两种情况

目录 多人协作 多人协作一 准备工作 协作开发 多人协作二 准备工作 额外场景 申请单合并分支 更推荐写法 远程分支删除后,本地git branch -a依然能看到的解决办法 多人协作 多人协作一 目标:在远程master分支下的file.txt文件新增代码“aaa”…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之八 简单水彩画效果 一、简单介绍 二、简单图像浮雕效果实现原理 三、简单水彩画效果案例实现简单步骤 四、注意事项…

【排序算法——数据结构】

文章目录 排序排序的基本概念1.插入排序2.希尔排序3.冒泡排序4.快速排序5.简单排序6.堆排序7.归并排序8.基数排序8.外部排序9.败者树10.置换选择排序 排序 排序的基本概念 排序,就是重新排列表中的元素,使表中的元素满足按关键字有序的过程 评价指标算…

数据库聚簇索引和非聚簇索引的区别

聚簇索引(Clustered Index)和非聚簇索引(Non-clustered Index)是数据库中两种不同的索引类型,它们的主要区别在于数据的存储方式和索引的结构: 数据存储方式: 聚簇索引:索引的叶子节…

【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全,整体的流程是什么?(SSL是…

夜莺浏览日志、filebeat采集日志(四)

文章目录 一、elasticsearch二、filebeat三、日志分析 一、elasticsearch docker启动 docker run -d -p 9200:9200 -p 9300:9300 --restartalways -e ES_JAVA_OPTS"-Xms512m -Xmx512m" \ -e discovery.typesingle-node -e xpack.security.enabledtrue -e ELASTIC_P…

HSP_04章_扩展: 进制、位运算

文章目录 10. 扩展: 进制11. 位运算11.1 二进制在运算中的说明11.2 原码 反码 补码11.3位运算符11.3.1 ~按位取反11.3.2 &按位与11.3.3 ^按位异或11.3.4 |按位或11.3.5 << 左移11.3.6 >> 右移 10. 扩展: 进制 进制介绍 进制的转换 2.1 其他进制转十进制 二进…

投稿指南【NO.12_9】【极易投中】核心期刊投稿(现代电子技术)

近期有不少同学咨询投稿期刊的问题&#xff0c;大部分院校的研究生都有发学术论文的要求&#xff0c;少部分要求高的甚至需要SCI或者多篇核心期刊论文才可以毕业&#xff0c;但是核心期刊要求论文质量高且审稿周期长&#xff0c;所以本博客梳理一些计算机特别是人工智能相关的期…

通过pymysql读取数据库中表格并保存到excel(实用篇)

本篇文章是通过pymysql将本地数据库中的指定表格保存到excel的操作。 这里我们假设本地已经安装了对应的数据库管理工具&#xff0c;里面有一个指定的表格&#xff0c;现在通过python程序&#xff0c;通过调用pymysql进行读取并保存到excel中。 关于数据库管理工具是Navicat P…

vCenter 提示 Root user password expired 解决办法

vCenter root 密码过期告警 vCenter 一般部署为一台虚拟机&#xff0c;该 root 用户是 vCenter 虚拟机SSH登录的用户&#xff0c;以及 vcenter VAMI的登录用户&#xff0c;该密码默认过期时间为90天。 vCenter涉及多个登录界面&#xff0c;本次提示root密码过期的用户涉及后两…

搜索与图论——Dijkstra算法求最短路

最短路算法 稠密图与稀疏图 n为点数&#xff0c;m为边数。m远小于n的平方为稀疏图&#xff0c;m接近n的平方为稠密图。 稀疏图用邻接表存&#xff0c;稠密图用邻接矩阵存 朴素版dijkstra时间复杂度为O(n^2),对于稠密图可以ac&#xff0c;但遇到稀疏图时会TLE。 dijkstra函数实…

【leetcode】力扣简单题两数之和

题目 思路 代码实现 #include<iostream> #include<unordered_map>using namespace std;class Solution { public:vector<int> TwoNumber(const vector<int>& nums, int target){vector<int> number_vector;unordered_map<int, int> …

java数组与集合框架(一) -- 数据结构,数组

数据结构 概述 为什么要讲数据结构&#xff1f; 任何一个有志于从事IT领域的人员来说&#xff0c;数据结构&#xff08;Data Structure&#xff09;是一门和计算机硬件与软件都密切相关的学科&#xff0c;它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储…