• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在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) 一次性删除所有的镜像。

    上一篇:OS X El Capitan 下怎么修复磁盘权限?
    下一篇:Mac OS X 10.9 Mavericks系统怎么激活?
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    在Mac OS下使用docker构建基于node的博客程序hexo 在,Mac,下,使用,docker,构建,