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 您的支持是对博主最大的鼓励,感谢您的认真阅读。 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 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 数组属性和方法
- 使用 Lombok 释放百行代码
- Leetcode 1483. 树节点的第 K 个祖先(DP,倍增)
- Mybatis 使用通用 mapper
- Mybatis-Plus 的简单使用
- Mybatis-Plus 条件构造器
- Nginx 反向代理
- 非关系型数据库 Redis
- MyBatis 简单使用
- 数值分析常见习题解答
- Spring Web MVC 文件上传
- Leetcode 45 跳跃游戏 II (贪心+数学)
- Leetcode 第23场双周赛D 5363. 做菜顺序(DP,贪心)
- Leetcode 22. 括号生成 (括号匹配,dfs)
- MQ 系列之 ActiveMQ 介绍
- Python Tips(1) 数字与字符串之间转换,采用内置函数