烂泥:docker化搭建轻量级wiki系统gollum

本文由ilanniweb微信公众号提供友情赞助,首发于烂泥行天下

jenkins技术分享QQ群:571981257

看看时间差不多2017年又要过完了,最近公司和家里面的事情比较多,所以就没有时间写文章了。

今天在家休息,挤个时间把有关轻量级wiki系统gollum的docker化搭建文章分享下。

一、golum是什么

看到gollum,你很有可能会和电影《魔戒》中的角色联系起来。但是该gollum和《魔戒》中gollum不是一回事。

在此,我们所说的gollum是一个开源的基于git管理和markdown语法,使用ruby语言开发的wiki系统,相比较于wiki原生的标记语法,git管理和markdown语法对于程序员来说更为简洁和熟悉,协作也更加灵活。

二、gollum的优点

简单的来讲gollum主要有以下几个优点:

轻量级,结构和功能完整、使用markdown语法、可提供web服务、代码开源、使用git进行内容控制。

尤其是最后一点,完全没有抵抗力啊~

gollum的源代码,我们可以直接从github上下载,地址如下:

https://github.com/gollum/gollum.git

clip_image001

考虑到众所周知的原因,也可以从码云中我的仓库进行下载,地址如下:

https://gitee.com/ilanni/gollum-code.git

clip_image002

三、gollum的docker化

按照我以前写文章的习惯,我会在介绍完毕gollum的功能和优点之后,就会介绍gollum的安装。

但是这次我不打算介绍gollum的安装了,为什么呢?

因为经过我多次测试,发现gollum的安装看似很简单,其实很麻烦,麻烦的点不是gollum的安装,而是ruby及其周边依赖的安装。

因为众所周知的原因,ruby及其周边依赖的安装是否成功直接会影响到gollum的安装。

所以在此,我自己直接把gollum进行了docker化处理,你只需要下载gollum的docker镜像本地运行即可。

有关gollum的Dockerfile文件,可以从码云中我的仓库中查看到,地址如下:

https://gitee.com/ilanni/gollum.git

clip_image003

现在我把Dockerfile文件内容贴出来,如下图:

clip_image004

接下来我们手工docker build下gollum,然后把生成的gollum镜像推送到阿里云的docker仓库中。

首先登录到阿里云的docker仓库,如下:

docker login -ub2b333677093coso3@aliyun.com registry.cn-hangzhou.aliyuncs.com

clip_image005

使用docker build命令构建gollum镜像,如下:

docker build -t registry.cn-hangzhou.aliyuncs.com/ilanni/gollum:4.1.2 ./

clip_image006

clip_image007

把本地构建好的gollum镜像,推送到阿里云的docker仓库中。如果你有自己私有的docker仓库,也可以直接推送到docker的私有仓库。如下:

docker push registry.cn-hangzhou.aliyuncs.com/ilanni/gollum:4.1.2

clip_image008

到此gollum的docker化,就已经完毕。

四、运行gollum镜像

gollum进行docker化后,我们就可以在任何地方,直接从阿里云的docker仓库拉取刚刚推送的gollum镜像,然后在本地运行起来。

但是在运行gollum镜像之前,我们还有几点需要注意:

1)、gollum命令必须在git目录下使用

2)、使用git来提交内容时一定要git commit之后才会生效

3)、git必须在master分支提交

4)、wiki的目录结构最好事先设计好,否则文件会非常乱

对于第一点gollum命令必须在git目录下使用,也就是说在运行gollum镜像时,如果要把本地的wiki目录映射到gollum镜像中的工作目录的话,那么该映射目录必须为一个git仓库。

举个例子,比如我们要把本地的wiki目录映射到gollum镜像中,那么这个wiki目录就是一个git仓库。如下:

clip_image009

对于第二点就更好理解了,要想本地修改的文件,在gollum上展示出来,必须是在执行git commit命令之后,gollum才把刚刚修改的内容展示出来。

另外两点,就不做解释了。

现在我们正式运行gollum镜像,使用如下命令:

docker run -d -it –name gollum -p 8080:4567 –privileged=true -v /wiki:/gollum/ registry.cn-hangzhou.aliyuncs.com/ilanni/gollum:4.1.2 –allow-uploads –live-preview

上述命令的意思是,启动一个gollum容器,并且命名为gollum,该容器的镜像是gollum镜像,并把宿主机的/wiki目录映射为gollum容器的/gollum目录,其中wiki目录是一个标准的git仓库,把gollum容器的4567端口映射为宿主机的8080端口,其中4567端口是gollum默认监听端口,最后使用特权模式运行。

clip_image010

正常启动如上图所示,而且通过上图我们也可以很明显的看到gollum镜像已经正常运行。

现在我们来访问下gollum,使用8080端口,如下:

192.168.123.6:8080

clip_image011

通过上图,我们可以很明显的看到gollum已经启动成功。

五、gollum的web页面功能

gollum的web页面为我们提供了多个功能,下面挑选几个常用的功能介绍如下。

查看最近修改的文件,如下:

clip_image012

查看最近的提交记录,如下:

clip_image014

文件编辑功能,如下:

clip_image015

clip_image016

文件上传功能,如下:

clip_image017

六、维护gollum

在gollum搭建完毕后,我们平时该如何维护gollum呢?

维护gollum一般是分为两种方式:

第一种方式在git仓库提交代码仓库,然后gollum的web页面展示。这个是我最常使用的方法,而且我一般还是通过gitlab+Jenkins+gollum来实现。

第二种方式是直接在gollum的web页面修改,修改完毕后,把最终的修改push到git仓库。

对于第一种方式一般是在wiki已经有了,我们只需要修改或者添加一小部分时使用到。

而第二种方式一般是在wiki初始化时,使用的比较多。

未经允许不得转载:烂泥行天下 » 烂泥:docker化搭建轻量级wiki系统gollum

赞 (8) 打赏

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

支付宝扫一扫打赏

微信扫一扫打赏