使用 docker-compose 搭建个人博客 Halo

目录

说明

我这里使用的是 Halo 作为博客的工具,毕竟是开源了,也是使用 Java 写的嘛,另外一点就是使用 docker 来安装(自动挡,不用自己考虑太多的环境因素),这样子搭建起来更快一点,我们这里核心就两步:

  • docker-compose 的安装
  • Halo 的安装

我这边的docker 版本如下:

docker 版本

docker-compose 安装

好了,废话就不多说了,我们现在开始看看怎么去搭建把。下面我也会把我遇到的几个坑给大伙说下,尽量避免我遇到的那些坑,忒别耗时。

安装步骤
这里我们可以看下Github上面官方的版本
官方的版本
正确的安装过程

具体执行的命令如下:

# 下载 docker-compose 文件
curl -L "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 给他一个执行权限
chmod +x /usr/local/bin/docker-compose# 查看是否安装成功
docker-compose -version

错误的安装过程

上面为什么要使用最新的呢?那是因为我遇到了这个问题,在使用 docker-compose.yaml 创建容器的时候,报错:

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.halo.healthcheck value Additional properties are not allowed ('start_period' was unexpected)
services.halodb.healthcheck value Additional properties are not allowed ('start_period' was unexpected)
services.halo.depends_on contains an invalid type, it should be an array

后面在 docker-compose部署报错 #4110 找到了答案,因为我本地的docker-compose 的版本太低了,之前我安装的是 1.26.2 这个版本,后面干脆一点,升到最新算了。

卸载docker-compose

这里顺便说明下,怎么卸载的,如果是知道的同学,就直接看下面的把,不用在这里浪费时间了。

# 因为我这边是通过 curl 下载的,所以可以直接 rm 就好
rm /usr/local/bin/docker-compose

另外我也发现,可以使用上面安装的方式,直接再次 curl -L 下载对应的版本就好了,会直接覆盖安装。

Halo 搭建

好了,这里我们搭建 Halo 就很方便了,直接按照官方的文档来吧,很快就搞定了

第一步: 在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。

mkdir ~/halo && cd ~/halo

注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存。

第二步: 创建 docker-compose.yaml,这里我没有修改下面的配置,直接搭建的

需要注意的是,此文档为了更加方便的管理配置,所有与 Halo 相关的配置都使用 Docker 容器启动参数代替,所以无需创建 application.yaml 文件。

创建 Halo + PostgreSQL 的实例: *~/halo/docker-compose.yaml**

version: "3"services:halo:image: halohub/halo:2.15restart: on-failure:3depends_on:halodb:condition: service_healthynetworks:halo_network:volumes:- ./halo2:/root/.halo2ports:- "8090:8090"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]interval: 30stimeout: 5sretries: 5start_period: 30s          command:- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo- --spring.r2dbc.username=halo# PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。- --spring.r2dbc.password=openpostgresql- --spring.sql.init.platform=postgresql# 外部访问地址,请根据实际需要修改- --halo.external-url=http://localhost:8090/halodb:image: postgres:15.4restart: on-failure:3networks:halo_network:volumes:- ./db:/var/lib/postgresql/datahealthcheck:test: [ "CMD", "pg_isready" ]interval: 10stimeout: 5sretries: 5environment:- POSTGRES_PASSWORD=openpostgresql- POSTGRES_USER=halo- POSTGRES_DB=halo- PGUSER=halonetworks:halo_network:

此示例的 PostgreSQL 数据库容器默认没有设置端口映射,如果需要在容器外部访问数据库,可以自行在 halodb 服务中添加端口映射,PostgreSQL 的端口为 5432

docker-compose.yaml

第四步: 启动 Halo 服务

docker-compose up -d

docker-compose up
其实到此我们就完成了,后面我就看下 log 以及 容器就好了

查看 log

docker-compose logs -f

查看日志

查看容器
我们可以看到容器的情况,最开始需要一点时间 starting ,启动完了之后,就是 healthy
容器

效果

好了好了,我们最后来看下效果把,最开始需要我们初始化,这个界面我就跳过去了,就是填写下用户名和密码,邮箱,博客名称。

前端界面
前端界面
后端管理界面
后台管理界面

OK,到此就搞定了。如果是 docker-compose 没有出bug,我感觉可以在几分钟之类搞完这个,就看下 docker 获取镜像的时间,搞完了之后,直接启动就好了。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷!简单的转录组分析+Cytoscape三小时工作量,思路易复现

说在前面 两样本孟德尔随机化应该大伙都了解的不少,不过今天看到一篇,有点“料”的文章,一句话总结:Cytoscape乱拳打死老师傅,通篇除了WGCNA、差异分析是作为常规的转录组分析方法,剩下的几乎都是ClueGO的…

Idea + maven 搭建 SSH (struts2 +hibernate5 + spring5) 环境

org.apache.struts struts2-core 2.3.35 org.apache.struts struts2-spring-plugin 2.3.35 org.apache.struts struts2-json-plugin 2.3.8 1.4 配置Java EE 坐标依赖 这里可以引入 servlet api,jstl 标签库等一系列工具 javax.servlet javax.servlet-api …

FPGA控制3步进电机驱动芯片和1直流电机驱动,用于工业打印控制

客户应用:DIY打印 主要功能: 1.支持触摸屏控制 2.支持WIFI无线控制 3.支持USB接口 4.支持网线有线控制 5.支持非标定制 6.支持光电感应接口 7.支持喷印材质木板,纸箱,石材,中纤板,钢材,管…

抖音APP运用的AI技术拆解

1.推荐系统(RS) 用户画像:根据用户的信息(如地区、性别、年龄、收藏、关注......)进行分析,构建用户画像,对用户进行分类; 行为分析:将用户的显形行为数据(如…

(2024,DONN,OCNN,复数域,交替的非线性激活层与振荡器层,复值反向传播)深度振荡神经网络

Deep Oscillatory Neural Network 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 1. 简介 2. 方法 2.1 深度振荡神经网络(DONN) 2.2 振荡卷积神经网…

200-500人规模工厂网络方案(中小企业网络)

一、方案概述 网络方案有一套,工厂生产更高效!华为坤灵SOHO助力中小企业打造高品质工厂网络 #华为坤灵SOHO #让中小企业网络更智能 统一规划: 一网承载有线、无线、财务、办公、访客等业务,便于维护管理和后续扩容 高品质无线: Wi-Fi6智能…

十四五”智慧城市:视频大数据汇聚系统2.0建设方案与特点分析

一、背景需求分析 随着科技的不断发展,智慧城市的建设已经成为城市发展的重要方向。视频汇聚系统作为智慧城市建设的重要组成部分,已经得到了广泛的应用和推广。视频汇聚系统是智慧城市中非常重要的组成部分,它利用摄像头和传感器技术来收集…

【读点论文】SAM-LIGHTENING: A LIGHTWEIGHT SEGMENT ANYTHING MODEL,改进自注意力机制,然后知识蒸馏提点

SAM-LIGHTENING: A LIGHTWEIGHT SEGMENT ANYTHING MODEL WITH DILATED FLASH ATTENTION TO ACHIEVE 30 ACCELERATION ABSTRACT 分割任意模型(SAM)由于其零样本泛化能力,在分割任务中引起了广泛的关注。然而,SAM在现实世界实践中…

AI智能化逐渐趋于成熟后,预测今后最吃香的开发职业

AI智能化正在成熟的路途中,这中间会有波折,但终有一天会来的,我相信等到了这一天,我们的开发效率和代码质量,将会大大不同,而我们的团队与个人,也会面临着很棒的体验。 那么在AI智能化真正趋于成…

CSS伪类选择器

目录 前言: 链接伪类: 用户行为伪类: 元素状态伪类: 结构化伪类: 否定伪类: 目标伪类: 输入伪类: 前言: 在CSS中有一种特殊的选择器:伪类选择器&…

MySQL——变量的浮点数问题处理

新建链接,自带world数据库,里面自带city表格。 DQL #MySQL变量的浮点数问题处理 set dx3.14,dy3.25; select dxdy;#计算显示异常,会有很多00000的提示set resultdxdy; select result; 查询结果

明星网红推荐的随身wifi到底靠谱吗?随身wifi哪个品牌最好用?随身wifi推荐测评!

全网5千万粉丝,赵本山弟子小沈龙去了格行随身wifi总部了?还专门在格行总部开了一场直播。发现最近不少明星网红都在推荐随身wifi。有网友说有了明星网红的信誉担保,很在购买时也有了一定的保障!但是品牌众多,随身wifi哪…