当前位置: 首页 > article >正文

使用Dockerfile构建hexo博客镜像,并部署

  • 基于centos7.9父镜像构建hexo:1.0镜像:

    cat << eof > Dockerfile
    # 根镜像
    FROM centos:7.9.2009
    MAINTAINER qv123<qv1095322098@163.com>
    # 设置工作目录
    WORKDIR /usr/src/app
    # 暴露端口号
    EXPOSE 4000
    # 作者注释
    MAINTAINER qv123<qv1095322098@163.com>
    # 安装nodejs,npm,git
    RUN yum -y update && \
        yum -y install epel-release && \
        yum -y install nodejs npm git && node -v && npm -v
    # 1.配置node.js的npm镜像源为淘宝
    RUN npm config set registry https://registry.npm.taobao.org
    ​
    # 安装hexo博客
    # 2.启动hexo服务,--save参数市将可以将安装的模块信息自动添加到项目的package.json文件中的dependencies字段中。
    # 3.下载博客hexo,初始化博客生成blog目录并打开
    RUN npm install -g hexo-cli && hexo init blog && cd blog \
     && npm install hexo-server --save \
     && npm install
    # 复制
    # 挂载
    # 4.安装博客插件 
    RUN cd blog && npm install hexo-deployer-git --save \
     && npm install hexo-renderer-pug --save \
     && npm install hexo-renderer-stylus --save \
     && npm install hexo-migrator-rss --save \
     && npm install hexo-asset-image --save \
     && npm install hexo-wordcount --save \
     && npm install hexo-generator-sitemap --save \
     && npm install hexo-generator-baidu-sitemap --save \
     && npm install hexo-helper-live2d --save
    # 5.安装音乐播放器
    RUN cd blog && npm install hexo-tag-aplayer --save
    # 6.更换主题
    RUN cd blog && git clone -b master https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly \
     && sed -i "s/^theme:.*/theme: butterfly/g" _config.yml
    # 容器启动时启动hexo服务
    CMD cd blog && hexo clean && hexo g && hexo server
    eof
  • 构建镜像:

    docker build -f ./Dockerfile -t my_hexo:1.0 .
  • 创建容器:

    docker run -id --name=my_hexo -p 4000:4000 my_hexo:1.0
  • 复制容器中的blog到宿主机

    docker run -id --name=my_hexo -p 4000:4000 my_hexo:1.0
  • 删除容器:

    docker stop my_hexo;docker rm my_hexo
  • 创建容器,带目录挂载

    docker run -id --name=my_hexo -p 4000:4000 -v $PWD/blog:/usr/src/app/blog my_hexo:1.0
  • 跟踪容器日志:

    docker log -f my_hexo
    ...
    INFO  Start processing
    INFO  Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.
  • 如果发现日志中显示http地址,就可以通过浏览器访问

    http://192.168.174.21:4000/


http://www.kler.cn/a/135263.html

相关文章:

  • SpringBoot(十八)SpringBoot集成Minio
  • 深入解析贪心算法及其应用实例
  • change buffer:到底应该选择普通索引还是唯一索引
  • 【计算机网络】【传输层】【习题】
  • 从0开始学习Linux——文件管理
  • 性能优化、安全
  • [Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例
  • Toolformer论文阅读笔记(简略版)
  • java中的深度复制和浅复制的BUG
  • Linux常见命令手册
  • NVS 错误码对应的原因
  • C# Winform围棋棋盘
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(十四)
  • MATLAB中plotmatrix函数用法
  • 【服务器学习】timer定时器模块
  • Python的os.path.join()详解
  • 工作备忘录【react-native】
  • C++实现高频设计模式
  • Docker中快速安装RabbitMQ
  • 【开题报告】基于SpringBoot的二手汽车交易平台的设计与实现
  • HAL库STM32串口开启DMA接收数据
  • PPT基础:编辑顶点
  • stable-diffusion-webui之webui.py
  • 竞赛选题 行人重识别(person reid) - 机器视觉 深度学习 opencv python
  • 【Flink】窗口(Window)
  • 被OpenAI开除后,创始人奥特曼在微软找到了新工作