1 Gitbook是什么?
Gitbook是一个能将使用 Markown 语法的md格式文档,快速制作成各种格式的精美电子书的工具。还支持多人同时开发文档,比如多人同时翻译一本书籍,这个功能可以大大增加工作效率。
2 系统环境
CentOS7系统 + Docker环境
3 GitBook容器
启动好了Docker服务之后,我们就可以拉取Gitbook镜像了。先查找合适的镜像。不过由于Docker Hub的服务器在USAweb服务器搭建,国内又有网络出口限制,因此下载速度可能会很忙,请耐心等待,或者使用国内HUB。
docker search gitbook
选好需要镜像后,我们需要将镜像拉取到本地
docker pull docker.io/fellah/gitbook
基于该镜像创建一个容器
docker run -itd –name=”my_gitbook” -h=”my_gitbook”-p 4000:4000 -v /data/gitbook/books:/srv/gitbook/books 2908 /bin/bash
在创建容器时考虑到可以使用gitbook提供web服务,可以用在搭建web服务器了就将4000端口映射到容器内gitbook的默认端口4000,当然你也可以搭建一个web服务器。还有就是希望这个容器只是提供gitbook服务,至于md文档我放置在CentOS7的/data/gitbook/books目录就可以,后期的管理更加方便。
4 Gitbook服务
容器创建好了,接下来就是进入容器内部使用gitbook了
docker exec -it my_gitbook /bin/bash
前面讲项目目录文件/data/gitbook/books映射到容器的/srv/gitbook/books目录了,现在进入该目录初始化gitbook项目并启动预览服务即可
cd /srv/gitbook/books
gitbook init .
gitbook serve . &
5 预览
如果上面的一切都OK的话,你就可以通过浏览器访问你的gitbook项目了。
6 GitBook 服务多开
gitbook启动的web 服务默认监听4000端口,而重启监控进程默认监听35729端口。
一般这样可以启动一个电子书web服务:
gitbook serve /somepath/your_docuemtn_dir/
本地就可以这样来访问: :4000
如果要启动另一部电子书服务的话, 就需要同时修改web端口和监控进程端口, 类似这样:
gitbook serve --lrport 35288 --port 4001 /path2/your_another_doc_dir/
指定端口号再启动
gitbook serve --lrport 35730 --port 4001
7 构建一个自定义的 镜像
编写Dockerfile
FROM node:7
MAINTAINER Wenyu
ARG VERSION=3.2.3
LABEL version=$VERSION
RUN npm install --global gitbook-cli &&
gitbook fetch ${VERSION} &&
npm cache clear &&
rm -rf /tmp/*
RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin
WORKDIR /srv/gitbook
VOLUME /srv/gitbook /srv/html
EXPOSE 4000 35729
CMD /usr/local/bin/gitbook serve
有了Dockerfile,就可以创建镜像了:
docker build -t gitbook:v2 .
最后web服务器搭建,可以通过以下命令创建容器:
docker run -itd –name=”my_gitbook2″ -h=”my_gitbook2″ -p 4000:4000 -p 35729:35729 -v /data/books/:/srv/gitbook/books 0e5c /bin/bash
8 GitBook 常用命令:
gitbook init //初始化目录文件
gitbook help //列出gitbook所有的命令
gitbook build //生成静态网页
gitbook serve //生成静态网页并运行服务器
gitbook ls //列出本地所有的gitbook版本
gitbook ls-remote //列出远程可用的gitbook版本gitbook update //更新到gitbook的最新版本
9 后记
上面使用了一个简单的方法搭建了gitbook服务,其实一开始我并没有这样想,开始我是想先安装nodejs,然后安装npm,然后安装cnpm,然后安装gitbook,然后….
还有就是上面的搭建好了之后还有很多可以优化的地方,比如:
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信: