hexo 博客迁移记录

前言

由于之前的服务器到期了,所以需要将博客相关数据进行迁移,记录一下。

docker 迁移

docker 迁移的方法了解有两种:

  • 迁移容器:
    • 导出容器:docker export {container_id} > container.tar
    • 导入容器:type/cat container.tar | docker import - {container_name}
  • 迁移镜像:
    • 导出并压缩镜像:docker save {container_id} | gzip container.tar.gz
    • 导入镜像:docker load -i container.tar.gz

但是都存在一些问题:

  • 迁移容器:
    • 无法启动解决方法:docker run 启动需要尾部加上 COMMAND 命令,这个命令可以通过 docker ps -a --no-trunc 查看
    • 需要 docker run 指定端口:不会迁移 Port 等这些信息
    • 报错:hexo server 命令不存在,可能是没有 init,但是如果直接通过目录映射将原来的博客内容映射到容器内部,会启动失败,应该是缺失很多包导致的(猜测)。
  • 迁移镜像:同样的类似问题。

可能的原因:

  • hexo 镜像构建存在很多问题
  • win/linux 的字符存在一些差异

所以想的是直接安装 npm 的包方便

npm 重新安装 package

迁移步骤:

  • 重新运行一个全新的 hexo 容器,做好目录映射
  • 将需要迁移的博客根目录下的 package.json 文件拷贝到当前目录下
  • 进入容器中的博客根目录,运行:npm install 安装
  • 将原博客根目录所有文件复制到当前容器博客根目录中即可

注意点:

  • gulp 需要重新执行:npm link gulp
  • 将原来博客的根目录所有文件覆盖掉新的容器博客根目录的所有内容