在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) 一次性删除所有的镜像。
相关文章
怎么在mac上打开rar压缩文件? 苹果电脑三种轻松解压方法
Mac系统自带的工具无法直接解压RAR文件,该怎么打开rar压缩文件呢?下面我们就来看看详细解决办法2024-10-10如何轻松禁止自动安装macOS更新? 关闭mac系统版本自动升级的技巧
苹果设备的系统更新是保持设备性能与安全性的重要手段,但有时候用户可能因为各种原因希望暂时或取消系统自动更新,详细请看下文介绍2024-09-28- Mac 用户也能使用熟悉的 iPhone 和 iPad 时钟应用了,可以查看世界各地不同时区的本地时间或设置自定义闹铃,吸纳关系请看下文介绍2024-09-25
如何启用隐藏的macOS科学计算器? mac科学计算器快捷键用法
原来MacBook的计算器这么好用?之前一直只用苹果的计算器算过加减乘除,突然发现原来它功能其实还蛮多的,详细请看下文介绍2024-09-25- 与微软 Windows 系统一样,苹果 Mac 电脑和 macOS 的快捷键也有很多,而且已经有一部分键盘符号释义已经在键盘上标示得非常直观,但还是有很多快捷键的图标非常特别,让新2024-09-25
VMware虚拟机怎么快速安装macOS Sequoia系统?
很多朋友需要临时体验一下macOS,但又没有苹果电脑,现在分享一下在普通PC电脑上使用VMware虚拟机安装macOS系统的方法2024-09-25macOS Sequoia 15.0新增哪些功能? macOS Sequoia 15.0立即升级教程
Apple 发布了 macOS 15 Sequoia 正式版,这是专为 Mac 运行的操作系统的最新版本,该怎么升级呢?详细请看下文介绍2024-09-25- 于我们在使用Mac电脑的时候默认会在短时间内自动息屏,但是有些软件我们在运行中不希望息屏且需要保持常亮屏幕,这里,我们可以通过本身电脑的设置让Mac屏幕常亮2024-09-24
- Mac电脑的桌面一直显示硬盘图标的情况,看到桌面上都是图标,看上去很乱,想要解决这个问题,该怎么操作呢?详细请看下文介绍2024-09-12
macOS Sequoia怎么进行窗口布局? 窗口布局的三种设置方法
macOS Sequoia系统中,可以对窗口进行布局,该怎么操作呢?我们介绍三种方法,详细请看下文介绍2024-09-12
最新评论