欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker搭建centos+hexo环境(内附镜像链接)

程序员文章站 2022-07-14 17:38:09
...

title: 2.Docker搭建hexo环境(内附镜像链接)
date: 2020-09-06 16:59:00
categories:

  • 3.系统运维
  • 3.hexo相关
  • 1.hexo美化

因为我之前的hexo环境搭建在VMware里面,但是太麻烦,占用资源太多,而且Hyper-V还冲突,所以直接就在Docker中搭建了


安装过程

docker以及安装完成,通过官方仓库获得了centos7的镜像

Docker搭建centos+hexo环境(内附镜像链接)

启动镜像进入容器

docker run -it --name centos-hexo centos:centos7

Docker搭建centos+hexo环境(内附镜像链接)

安装git和epel-release

yum install git -y
yum install epel-release -y

安装npm环境

由于yum源中的npm版本太低,会导致hexo无法初始化,所以不适用yum安装

安装wget

yum install wget -y

下载nodejs安装包

最新安装包链接可以通过官网获取

mkdir nodejs
cd nodejs
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz

解压缩

tar -xvf node-v12.18.3-linux-x64.tar.xz

部署bin文件

我们需要找到nodejs的bin文件的绝对路径,然后通过ln进行关联

Docker搭建centos+hexo环境(内附镜像链接)

ln -s /nodejs/node-v12.18.3-linux-x64/bin/node /usr/bin/node
ln -s /nodejs/node-v12.18.3-linux-x64/bin/npm /usr/bin/npm

测试nodejs

node -v
npm -v

Docker搭建centos+hexo环境(内附镜像链接)

安装hexo

安装hexo命令

然后就是正常的hexo安装流程了

npm install hexo-cli -g

然后发现,hexo命令并没能全局

Docker搭建centos+hexo环境(内附镜像链接)

使用find命令找到

Docker搭建centos+hexo环境(内附镜像链接)

把他关联过去

ln -s /nodejs/node_modules/hexo-cli/bin/hexo /usr/bin/hexo

创建博客文件夹并初始化博客

mkdir blog
cd blog
hexo init

打包镜像

很难受,刚开始启动容器的时候,并没有将端口给映射出来,导致现在需要将容器打包成镜像,重新run映射端口

找到当前容器ID

打开新的cmd窗口,ps查询容器id

docker ps

Docker搭建centos+hexo环境(内附镜像链接)

保存到镜像

docker commit ed567c49427a kinght-centos-hexo

然后查看镜像是否保存成功

docker images

Docker搭建centos+hexo环境(内附镜像链接)

尝试运行hexo

端口映射启动

docker run -p 4000:4000 -it --name kinght-blog kinght-centos-hexo:latest

运行hexo本地预览

hexo s

在本地浏览器中输入http://localhost:4000/

Docker搭建centos+hexo环境(内附镜像链接)

与宿主机共享目录

这里还是采用的创建容器时命令

docker run -v E:\note\blog:/note -p 4000:4000 -it --name kinght-blog kinght-centos-hexo:latest

要求主机与容器都要使用绝对路径(或都是用相对路径)

尝试生成博客

cd /note	#打开共享文件夹
cp * /blog/source/_posts/	#将所有文档拷贝至博客目录
cd blog
hexo g	#生成博客
hexo s	#本地预览博客

Docker搭建centos+hexo环境(内附镜像链接)


一键安装仓库

我已经将镜像上传到dockerhub了,可直接拉取

docker pull kinghtxg/kinght-centos-hexo:latest

hexo g #生成博客
hexo s #本地预览博客


[外链图片转存中...(img-i0kCEMEk-1599414178944)]

------

# 一键安装仓库

我已经将镜像上传到dockerhub了,可直接拉取

docker pull kinghtxg/kinght-centos-hexo:latest