为避免不同操作系统,不同环境的影响,避免在机器上安装不同的nodejs版本,不同的依赖。
把hexo当独立的部署抽取出来,采取在docker中搭建hexo环境。
Dockerfile
1 2 3 4 5 6 7 8 9
| FROM node:alpine MAINTAINER fengcl <finghine.feng@gmail.com> RUN apk update && apk upgrade && \ apk add --no-cache git WORKDIR /workdir VOLUME ["/workdir"] RUN npm install hexo-cli -g EXPOSE 4000 CMD []
|
使用方法
构建镜像
在目录中创建Dockerfile,内容如上
1
| docker build . -t ff/hexo
|
初始化目录
1
| docker run -it --rm -v /home/ff/hexo:/workdir ff/hexo sh -c "hexo init blog"
|
-t
开一个终端
-i
标准输入打开
--rm
运行完就删除
-v
映射目录
安装依赖
1
| docker run -it --rm -v /home/ff/hexo:/workdir ff/hexo sh -c "cd blog; npm install"
|
新建博文
1
| docker run -it --rm -v /home/ff/hexo:/workdir ff/hexo sh -c "cd blog; hexo new test"
|
预览
1
| docker run -it --rm -p 80:4000 -v /home/ff/hexo:/workdir ff/hexo sh -c "cd blog; hexo serve"
|
生成html
1
| docker run -it --rm -v /home/ff/hexo:/workdir ff/hexo sh -c "cd blog; hexo g"
|
切换主题
这里在本地文件目录中修改就可以了
1 2 3 4 5
| cd /home/ff/hexo/blog
git clone https://github.com/iissnan/hexo-theme-next themes/next
sed '/theme: landscape/ ctheme: next' -i _config.yml
|
再运行预览命令
1
| docker run -it --rm -p 80:4000 -v /home/ff/hexo:/workdir ff/hexo sh -c "cd blog; hexo server"
|
git 仓库
https://github.com/finghine/hexo-docker