在 OSX 下使用 docker 构建 hexo 环境

发布于 2024-07-15 11:22:39 字数 2809 浏览 13 评论 0

  1. 截止目前为止,在 docker hub 上还看不到 hexo 3+版本的镜像构建。
  2. 由于 Node 环境的安装时间比较长,对于电脑比较多的人相对来说还是比较麻烦的。
  3. 基于 DockerFile 构建自己的 HEXO 环境非常灵活,可以根据自己的情况进行定制。
  4. 可以导入导出复制环境部署到其他电脑中。

实践开始

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 请注意,现在最简洁的三个包内容为:

  1. git,部署的时候用(如果不用 git 部署请去掉)。
  2. ssh-client(ssh 方式的 git 部署依赖)。
  3. ca-certificates(https 方式的 git 部署依赖)。

TIP: 在 shell 中或者 lib 中调用 https 方式通讯的时候如果报错

Problem with the SSL CA cert (path? access rights?)

可以通过安装包:ca-certificates 来解决问题,yum apt 中都是如此。

构建时间大概十几分钟完成。

准备把实体机(host) 上的文件挂载到 docker 中

  1. 安装 Guest Additions, 因为要使用 Shared Floader。
  2. 使用命令 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) ​ 一次性删除所有的镜像。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

北笙凉宸

暂无简介

0 文章
0 评论
748 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文