Docker下部署Halo博客系统

发布于 2021-02-15  37 次阅读


Halo,一款现代化的博客/CMS系统,值得一试。
——Halo官方网站

起因

一直以来,我的博客都是采用Linux+WordPress的解决方案,这个方案很成熟,也非常好用。可安装插件的特性更是为它提供了良好的可扩展性。但是WordPress基于PHP以及MySQL等,多少有些臃肿,虽然对我没什么影响,但激起了我寻找一个更加优雅的解决方案的欲望。

这就是Halo,一个基于Java的独立博客系统,可以通过Docker快速部署,不依赖其他服务(当然要JRE!)。UI也很漂亮,可以通过安装主题自由更改。

本文将探讨使用Docker部署Halo的全过程,以及踩的坑。

准备

  • Server,推荐1C2G以上,Java可是挺占内存的
  • Docker,这里使用宝塔面板傻瓜式安装
  • A bit of Patience

安装Docker

直接在宝塔面板内安装即可,我懒,如果想通过命令安装可自行搜索。

安装Halo

拉取镜像

拉取镜像前推荐先换个源,不然拉取速度可能会难以接受。通过修改(创建)/etc/docker/daemon.json 文件来换源,这里给出Docker中文站提供的源。

sudo vi /etc/docker/daemon.json
下为/etc/docker/daemon.json 文件内容

{
    registry-mirrors: [https://registry.docker-cn.com]
}

换源之后就可以拉取镜像了,可以通过命令拉取,也可以通过宝塔面板拉取。

注意,Halo的镜像名现在是halohub/halo而不是ruibaby/halo,网上很多过时教程都使用的是后者。

运行以下命令来拉取镜像

docker pull halohub/halo

部署容器

这里使用宝塔面板来部署容器,通过命令也可以。

点击创建容器

参数如图设置即可,并不复杂,如果有其他需要可以自行配置。注意,我这里服务器的80端口未被占用,如果出现占用,需要关闭占用80端口的服务。

至此,Halo可以直接访问了。进一步的安装就留给各位了,以后可能也会写文章进一步讨论。

结语

Halo各方面都挺让我满意的,但是我短期内应该不会考虑更换我博客的系统。原因有以下几点: