hexo个人博客网站服务制作成镜像部署

本文基于制作 Nginx-1.21.6 免安装包文章的基础上,在腾讯云云服务器(CentOS系统)上基于镜像文件Dockerfile制作 hexo个人博客网站服务 镜像。

我们将“hexo个人博客网站”打包成镜像,方便我们部署至服务器中及后续的维护升级。

本教程的示例代码: hexo-blog

基于nginx-1.21.6-tar示例新建hexo-blog构建代码

nginx-1.21.6-tar 代码复制一份,然后将代码中 nginx-1.21.6-tar 替换成 hexo-blog

hexo

安装hexo脚手架:

1
npm install -g hexo-cli 

建站

1
hexo init src

修改 hexo 的 src/_config.yml 让构建文件输出到 dist 目录:

1
public_dir: ../dist

修改 Dockerfile

Dockerfile

1
2
# 修改为拷贝整个 dist 目录文件
ADD ./dist ./nginx

构建个人博客镜像

1
npm run docker:build

启动镜像

1
docker run --name hexo-blog -p 80:80 -d hexo-blog:latest /usr/sbin/init

在浏览器访问 hexo 个人博客网站:

docker:build构建命令说明

相对比与nginx-1.21.6-tar这个项目的构建代码,只是多了构建 hexo 个人博客网站的页面到 dist 目录这一部分代码:

到这里我们就制作好了 ”hexo个人博客网站服务的镜像“。

将镜像发布至 Docker Hub

1
2
3
4
5
6
7
docker image tag hexo-blog:latest luqiangzeng/hexo-blog:1.0.0
docker image tag hexo-blog:latest luqiangzeng/hexo-blog:latest

# 推送 1.0.0 版本镜像
docker push luqiangzeng/hexo-blog:1.0.0
# 推送 latest 版本镜像
docker push luqiangzeng/hexo-blog:latest

luqiangzeng/hexo-blog

在新机器部署hexo网站

我们找了另外一台腾讯云CVM机器部署 luqiangzeng/hexo-blog:1.0.0 镜像服务。

  • docker-compose.yaml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    cd /home/coder/app
    mkdir hexo-blog
    cd hexo-blog
    vim docker-compose.yaml

    # 启动个人博客网站
    docker-compose up -d
    # 查看启动容器
    docker-compose ps

在浏览器访问网站:

我的hexo个人网站

https://getone.run