Hexo 使用 Docker 来写文章和调试博客
本文由 Fluid 用户授权转载,版权归原作者所有。
Hexo Docker环境使用篇
Docker 简介:
Docker 是一种轻量级的虚拟机环境,可以隔离主机的运行环境,内核公用主机的,运行库和环境是 Docker 私有的。运行 Docker 程序只比主机直接运行程序性能损失微乎其微。使用 Docker 你可以同时运行各种各样运行库环境而不用担心搞乱你的主机运行库环境!
Docker 运行负载远小于 Vmware 这类虚拟机, Vmware 需要模拟对应的CPU指令,再虚机运行一个虚拟机自己的内核,再这个虚拟机内核之上,再运行虚拟机的运行库和程序。比 Docker 多了一个内核模拟和运行,Cpu 和内存开销大增!
Docker 版 hexo 环境一键部署
博主开源定制,推荐使用!省去您大量环境配置时间。
使用 Hexo Docker 之前需要 Docker 环境,请参阅后文 Docker 安装方法
Docker一键安装
1 |
|
Docker
镜像直接提供最新版本node
,hexo
hexo web 后台写作
基于 hexo-admin 实现,具体配置实现方法见后文。
最终效果如下图所示。
blog.17lai.fun
访问blog
, 添加后缀admin
访问hexo
后台。使用前面提到的 hexo docker ,启动运行 hexo docker 后,非自动安装 hexo-admin 以及常用插件,你也可以自定义安装你虚幻的插件,
vi /app/useRun.sh
。


配置 hexo-admin 根目录下_config.yml
:
1 |
|
配置 post metadata 根目录下_config.yml
:
1 |
|
hexon
Github: hexon
另一个hexo web 编辑界面,界面比hexo-admin更现代化。安装配置方法见Github

hexo-editor
又一个hexo web 编辑器



支持手机
ssh key 部署
Docker会自动随机生成ssh key 在 /app/.ssh 目录下面。自动部署请把ssh key添加到github 等平台。
- 将SSH 公钥复制到剪贴板。 ...
- 在任何页面的右上角,单击您的个人资料照片,然后单击Settings(设置)。
- 在用户设置侧边栏中,单击SSH and GPG keys(SSH 和GPG 密钥)。
- 单击New SSH key(新SSH 密钥)或Add SSH key(添加SSH 密钥)。
SSH 进入docker
1 |
|
然后就可以正常运行hexo的各种命令了,是不是非常简单? 快来试试吧。
远程 SSH 访问Docker
推荐使用
SecurtCRT
来远程访问你的Docker
。

自定义用户自动运行脚本
用户可以在这里添加自动配置,自动安装插件,等各种启动docker运行的命令。
它将在Docker启动完成后自动调用运行!
1 |
|
反向代理 Hexo Docker
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
一些测试可能需要ssl支持,那么用nginx来反向代理一下,就可以在本地愉快的测试ssl加密功能了。
访问docker,需要
192.168.0.100:4000
这样数字ip + 端口号
的方式不觉得很丑陋,而且需要开大量的端口,使用nginx反向代理,可以直接使用域名访问。如果你想使用
blog.17lai.fun
这样的域名访问你的 docker 里面运行的博客,请参考下文。
Nginx也使用docker来运行,blog.17lai.fun
为本地域名,修改本地hosts dns信息来访问。
docker compose 配置
1 |
|
nginx配置
文件 blog.conf
,配置文件放到${USERDIR}/nginx/conf.d
目录中
1 |
|
Windows DNS修改
windows hosts文件路径为: C:\Windows\System32\drivers\etc\HOSTS
管理员权限用文本编辑器打开这个文件并添加 192.168.0.100 blog.17lai.fun
,然后,你就可以在本地浏览器中使用域名访问你的blog了!
Linux DNS 修改
Linux hosts 文件路径为: /etc/hosts
用文本编辑器或者命令行工具vim
打开这个文件并添加 192.168.0.100 blog.17lai.fun
,然后,你就可以在本地浏览器中使用域名访问你的blog了!
1 |
|
获取 SSL 证书
- 如果你购买了域名,可以在域名服务商获得免费的ssl证书。
- 自己生成私有证书,使用时需要给本地计算机,浏览器添加==你自己的根证书==,才能使你的ssl 证书在==你自己的浏览器==中生效。
使用Hexo Docker之前需要Docker 环境,下面是Docker 环境安装方法。
Centos 安装Docker
X86(一键安装脚本):
1 |
|
Arm:
步骤1
1 |
|
步骤2
添加仓库
1 |
|
步骤3
安装Docker
1 |
|

完成安装
步骤4
启动Docker
1 |
|
QNAP 安装Docker
在系统应用的AppCenter中找到 Container Station,可以直接点击安装即可。

群晖 安装 Docker
首先要说的是,x86 平台的群晖才能用的上 Docker
套件,因此,ARM 架构平台的群晖只能说非常遗憾了。
打开套件中心,在 “所有套件” 中找到 Docker
并安装:

系列教程
本文是系列教程基于Hexo的matery主题搭建博客并深度优化完全一站式教程第一篇的Docker部分