在Mac OS下使用docker构建基于node的博客程序hexo
截止目前为止,在docker hub上还看不到hexo 3+版本的镜像构建。
由于Node环境的安装时间比较长,对于电脑比较多的人相对来说还是比较麻烦的。
基于DockerFile构建自己的HEXO环境非常灵活,可以根据自己的情况进行定制。
可以导入导出复制环境部署到其他电脑中。
实践开始
docker安装
大部分Linux,比如说Ubuntu,Debian都可以通过如下命令安装:
curl -sSL https://get.daocloud.io/docker | sh
TIP:别忘了配置好DaoCloud加速,不然构建速度很慢。
构建
docker build -t hexo3 - < hexo3.dockerfile
hexo3.dockerfile 如下:
FROM node:slim
MAINTAINER Jianying Li <lijianying12@gmail.com>
# instal basic tool
RUN apt-get update && apt-get install -y git ssh-client ca-certificates --no-install-recommends && rm -r /var/lib/apt/lists/*
# set time zone
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
# install hexo
RUN npm install hexo@3.0.0 -g
# set base dir
RUN mkdir /hexo
# set home dir
WORKDIR /hexo
EXPOSE 4000
CMD ["/bin/bash"]
定制自己的image请注意,现在最简洁的三个包内容为:
git,部署的时候用(如果不用git部署请去掉)。
ssh-client(ssh方式的git部署依赖)。
ca-certificates(https方式的git部署依赖)。
TIP: 在shell中或者lib中调用https方式通讯的时候如果报错
Problem with the SSL CA cert (path? access rights?)
可以通过安装包:ca-certificates 来解决问题,yum apt中都是如此。
构建时间大概十几分钟完成。
准备把实体机(host)上的文件挂载到docker中
安装Guest Additions, 因为要使用Shared Floader。
使用命令 sudo mount -t vboxsf [sharename] [dist]来挂载共享目录。
运行
docker run -it -d -p 4000:4000 -v /root/blog:/hexo/ --name hexo hexo3
注意路径 /root/blog/ 是我VirtualBox 虚拟机中blog存储的位置。
注意参数/root/blog/需要使用绝对路径
其他的参数可以很容易的在manual中找到意义。
备份与还原
#docker save hexo3 > /root/hexo3.tar
#docker load < /root/hexo3.tar
注意这里使用save而不是export 因为需要保存历史层
参考导出大小:
du -h /root/hexo3.tar
261M/root/hexo3.tar
从以上所有的工作中,对比虚拟机进行环境的构建打包,docker具有构建环境时间更短,打包文件更小的特点。
使用容器操作blog
docker exec -it hexo /bin/bash
Tip: 虽然做到了用docker构建一个非常方便移植的hexo环境,但是运行命令hexo的时候有点慢,但不是那种忍受不了的慢。
小技巧
在调试的时候可以使用 docker rm $(docker ps -q -a) 一次性删除所有的容器,docker rmi $(docker images -q) 一次性删除所有的镜像。
相关文章

苹果发布 macOS 26.4.1 正式版:提升2026款MacBook网络稳定性
昨天苹果推送了 iOS 26.4.1 和 iPadOS 26.4.1 正式版,今天苹果又给 Mac 用户发布了 macOS 26.4.1 正式版, macOS 26.4.1 正式版的版本号是 25E253,属于一次小版本更新2026-04-10
升级macOS26.4后时间机器出现NAS备份故障:附解决办法
部分Mac用户升级macOS 26.4后,用户现无法使用时间机器(Time Machine)将数据备份到网络硬盘,系统反复弹出凭据错误提示,下面我们就来看看手动解决办法2026-04-01
提醒用户使用更大功率充电器! 苹果macOS 26.4新增慢速充电器提示
如果你觉得 MacBook 充电速度不够快,macOS 26.4 可以帮你确认这一问题,最新的Mac系统更新在系统设置的电池板块中新增了一项功能2026-03-26
新增MacBook Neo壁纸! 苹果 macOS 26.4 开发者预览版 Beta 4发布
苹果在最新推出的 macOS Tahoe 26.4 第四个开发者测试版中,将原本随 MacBook Neo 首发的全新多彩桌面壁纸开放给所有 Mac 机型使用2026-03-11
你可以按下某些组合键来实现通常需要鼠标或触控板才能完成的操作,每个 App 都有自己的快捷键,在一个 App 中有用的快捷键可能不能用于另一个 App2026-03-07
这里为你整理了11个非常实用且高频的Mac快捷键,涵盖了从日常操作到窗口管理的方方面面,无论你是新手还是老用户,都能有效提升效率2026-03-07
mac一键最小化所有窗口快捷键 macOS苹果系统最小化当前窗口
Mac 没有内置的快捷键能直接一键最小化所有应用程序的所有窗口,但可以通过以下几种方法实现类似效果2026-03-06
Mac 用户 90% 都不知道的隐藏功能,今天我将带你深入探索几个我每天都在高频使用的 macOS 隐藏神技2026-03-05
拥有过多的登录项会增加Mac的启动时间并降低其性能,启动应用程序也可能是恶意的,因此删除它们对于保持Mac的健康至关重要,下面我们就来看看mac删除添加开机自启动软件的2026-03-03
苹果macOS 26.4开发者预览版 Beta 2发布:修复窗口缩小指针不跟随问题
2026年2月24日,苹果向注册开发者推送macOS 26.4开发者预览版Beta 2(内部版本号25E5218f),本次更新距上一版Beta/RC发布仅隔7天,属常规迭代2026-02-24






最新评论