gitbook安装与使用,并使用docker部署
时间:2022-05-04
本文章向大家介绍gitbook安装与使用,并使用docker部署,主要内容包括1. 前置条件、2. 安装gitbook、3. gitbook使用、3.2 生成图书、4. 使用docker发布gitbook书籍、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本文简单介绍如何安装并使用gitbook,最后如何使用docker构建书籍镜像。
1. 前置条件
需要Nodejs环境,安装npm,国内用户再安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
2. 安装gitbook
cnpm install -g gitbook-cli
gitbook -V
CLI version: 2.3.2
Installing GitBook 3.2.3
gitbook@3.2.3 ..AppDataLocalTemptmp-20544doJtj1hfVp40node_modulesgitbook
├── escape-string-regexp@1.0.5
├── escape-html@1.0.3
。。。。
GitBook version: 3.2.3
3. gitbook使用
3.1 生成目录和图书结构
mkdir docker-start
gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished
编辑SUMMARY.md,输入:
* [简介](README.md)
* [1.Docker入门](chapter1/README.md)
- [1.1 什么是Docker](chapter1/section1.md)
- [1.2 Docker基本概念](chapter1/section2.md)
- [1.3 安装Docker](chapter1/section3.md)
- [1.4 使用Docker镜像](chapter1/section4.md)
- [1.5 操作容器](chapter1/section5.md)
- [1.6 访问仓库](chapter1/section6.md)
- [1.6 数据管理](chapter1/section7.md)
* [2.使用Docker部署web应用](chapter2/README.md)
- [2.1 编写DockerFile](chapter2/section1.md)
- [2.2 编写web应用](chapter2/section2.md)
- [2.3 构建镜像](chapter2/section3.md)
- [2.4 运行web应用](chapter2/section4.md)
- [2.5 分享镜像](chapter2/section5.md)
* [结束](end/README.md)
再次执行:
gitbook init
info: create chapter1/README.md
info: create chapter1/section1.md
info: create chapter1/section2.md
info: create chapter1/section3.md
info: create chapter1/section4.md
info: create chapter1/section5.md
info: create chapter1/section6.md
info: create chapter1/section7.md
info: create chapter2/README.md
info: create chapter2/section1.md
info: create chapter2/section2.md
info: create chapter2/section3.md
info: create chapter2/section4.md
info: create chapter2/section5.md
info: create end/README.md
info: create SUMMARY.md
info: initialization is finished
3.2 生成图书
使用:
gitbook serve .
Live reload server started on port: 35729
Press CTRL+C to quit ...
info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 16 pages
info: found 15 asset files
info: >> generation finished with success in 4.0s !
Starting server ...
Serving book on http://localhost:4000
访问 http://localhost:4000 ,就可以看到图书了
编辑生成的md,gitbook会自动Restart,
在当前目录下,会生成一个_book目录 ,里面是生成的静态html,可以发布到服务器直接使用。
4. 使用docker发布gitbook书籍
首先 将_book目录里的内容拷贝到一个新目录。
然后编写Dockerfile
FROM nginx
WORKDIR /usr/share/nginx/html
ADD . /usr/share/nginx/html
EXPOSE 80
build:
docker build -t docker-start-web .
Sending build context to Docker daemon 4.766MB
Step 1/4 : FROM nginx
---> 3f8a4339aadd
Step 2/4 : WORKDIR /usr/share/nginx/html
Removing intermediate container a4232f4b6b62
---> 91a66299ecad
Step 3/4 : ADD . /usr/share/nginx/html
---> 9a9fef80da3b
Step 4/4 : EXPOSE 80
---> Running in 59f2b829aba6
Removing intermediate container 59f2b829aba6
---> b92c92688046
Successfully built b92c92688046
Successfully tagged docker-start-web:latest
执行:
docker run -p 4000:80 --name docker-start-web -d docker-start-web
f91cf4446b3746c665476b3dd214446a941d838fa9a3ad47680190bb08c9aa48
访问服务器ip:4000就可以查看到了。
作者:Jadepeng 出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi 您的支持是对博主最大的鼓励,感谢您的认真阅读。 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- PN结加正向偏置电压 其空间电荷区为何变窄
- Thrift入门实践
- Centos7下部署两套python版本并存环境的操作记录
- MapX中取得图元操作的速度测试
- FluorineFx:基于RSO(远程共享对象)的文本聊天室
- 扫盲文章:AMF,RTMP,RTMPT,RTMPS
- "操作必须使用一个可更新的查询"问题
- 利用fluorineFx将DataTable从.Net传递到Flash
- Linux服务器性能压力测试
- linq to sql中的自动缓存(对象跟踪)
- php5.6安装Zend Opcache扩展
- 图片相似检测:三行代码实现
- Gitlab备份和恢复操作记录
- 利用图形界面对Sql2008做日志收缩
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅谈Django前端后端值传递问题
- sklearn和keras的数据切分与交叉验证的实例详解
- django Model层常用验证器及自定义验证器详解
- PyQT5 实现快捷键复制表格数据的方法示例
- Python爬虫headers处理及网络超时问题解决方案
- python报错: 'list' object has no attribute 'shape'的解决
- Python应用实现双指数函数及拟合代码实例
- 浅谈django不使用restframework自定义接口与使用的区别
- 实例解析php的数据类型
- 实现PHP中session存储及删除变量
- php微信公众号开发之秒杀
- php fread函数使用方法总结
- Yii2框架控制器、路由、Url生成操作示例
- Laravel框架实现调用百度翻译API功能示例
- phpstudy2018升级MySQL5.5为5.7教程(图文)