Docker进阶与实战

Docker进阶与实战

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
7.068 评价豆瓣读书
免费试读
¥25.00¥9.99
今日特价截止至:2019-06-17 02:00:00了解详情

作品简介

本书由一个真正钻研容器技术的团队写作,他们不仅仅是在使用Docker,更多的是在探索容器的未来之路,希望把“代码与产品,理论与实践”完美结合。本书内容从Docker的来源、镜像、仓库、安全、网络、卷存储,到生态、测试及社区贡献都有涉猎。无论你是入门级,还是已经有了较深的功底,这本书都会带你踏上新的台阶——正所谓“进阶”。

华为Docker实践小组,致力于容器技术探索,结合华为CT/IT/Mobile等应用场景,重点在容器引擎、仓库、网络和卷存储等多领域攻关;同时该团队遵循开源精神,将开发过程中的诸多价值特性同步贡献到Docker社区中,目前在Docker社区贡献中全球排名稳居前三,国内排名第一。

作品目录

  1. 前言
  2. 第1章 Docker简介
  3. 1.1 引言
  4. 1.1.1 Docker的历史和发展
  5. 1.1.2 Docker的架构介绍
  6. 1.2 功能和组件
  7. 1.2.1 Docker客户端
  8. 1.2.2 Docker daemon
  9. 1.2.3 Docker容器
  10. 1.2.4 Docker镜像
  11. 1.2.5 Registry
  12. 1.3 安装和使用
  13. 1.3.1 Docker的安装
  14. 1.3.2 Docker的使用
  15. 1.4 概念澄清
  16. 1.4.1 Docker在LXC基础上做了什么工作
  17. 1.4.2 Docker容器和虚拟机之间有什么不同
  18. 1.5 本章小结
  19. 第2章 关于容器技术
  20. 2.1 容器技术的前世今生
  21. 2.1.1 关于容器技术
  22. 2.1.2 容器技术的历史
  23. 2.2 一分钟理解容器
  24. 2.2.1 容器的组成
  25. 2.2.2 容器的创建原理
  26. 2.3 Cgroup介绍
  27. 2.3.1 Cgroup是什么
  28. 2.3.2 Cgroup的接口和使用
  29. 2.3.3 Cgroup子系统介绍
  30. 2.4 Namespace介绍
  31. 2.4.1 Namespace是什么
  32. 2.4.2 Namespace的接口和使用
  33. 2.4.3 各个Namespace介绍
  34. 2.5 容器造就Docker
  35. 2.6 本章小结
  36. 第3章 理解Docker镜像
  37. 3.1 Docker image概念介绍
  38. 3.2 使用Docker image
  39. 3.2.1 列出本机的镜像
  40. 3.2.2 Build:创建一个镜像
  41. 3.2.3 Ship:传输一个镜像
  42. 3.2.4 Run:以image为模板启动一个容器
  43. 3.3 Docker image的组织结构
  44. 3.3.1 数据的内容
  45. 3.3.2 数据的组织
  46. 3.4 Docker image扩展知识
  47. 3.4.1 联合挂载
  48. 3.4.2 写时复制
  49. 3.4.3 Git式管理
  50. 3.5 本章小结
  51. 第4章 仓库进阶
  52. 4.1 什么是仓库
  53. 4.1.1 仓库的组成
  54. 4.1.2 仓库镜像
  55. 4.2 再看Docker Hub
  56. 4.2.1 Docker Hub的优点
  57. 4.2.2 网页分布
  58. 4.2.3 账户管理系统
  59. 4.3 仓库服务
  60. 4.3.1 Registry功能和架构
  61. 4.3.2 Registry API
  62. 4.3.3 Registry API传输过程分析
  63. 4.3.4 鉴权机制
  64. 4.4 部署私有仓库
  65. 4.4.1 运行私有服务
  66. 4.4.2 构建反向代理
  67. 4.5 Index及仓库高级功能
  68. 4.5.1 Index的作用和组成
  69. 4.5.2 控制单元
  70. 4.5.3 鉴权模块
  71. 4.5.4 数据库
  72. 4.5.5 高级功能
  73. 4.5.6 Index客户端界面
  74. 4.6 本章小结
  75. 第5章 Docker网络
  76. 5.1 Docker网络现状
  77. 5.2 基本网络配置
  78. 5.2.1 Docker网络初探
  79. 5.2.2 Docker网络相关参数
  80. 5.3 高级网络配置
  81. 5.3.1 容器跨主机多子网方案
  82. 5.3.2 容器跨主机多子网配置方法
  83. 5.4 网络解决方案进阶
  84. 5.4.1 Weave
  85. 5.4.2 Flannel
  86. 5.4.3 SocketPlane
  87. 5.5 本章小结
  88. 第6章 容器卷管理
  89. 6.1 Docker卷管理基础
  90. 6.1.1 增加新数据卷
  91. 6.1.2 将主机目录挂载为数据卷
  92. 6.1.3 创建数据卷容器
  93. 6.1.4 数据卷的备份、转储和迁移
  94. 6.1.5 Docker卷管理的问题
  95. 6.2 使用卷插件
  96. 6.2.1 卷插件简介
  97. 6.2.2 卷插件的使用
  98. 6.3 卷插件剖析
  99. 6.3.1 卷插件工作原理
  100. 6.3.2 卷插件API接口
  101. 6.3.3 插件发现机制
  102. 6.4 已有的卷插件
  103. 6.5 本章小结
  104. 第7章 Docker API
  105. 7.1 关于Docker API
  106. 7.1.1 REST简介
  107. 7.1.2 Docker API初探
  108. 7.1.3 Docker API种类
  109. 7.2 RESTful API应用示例
  110. 7.2.1 前期准备
  111. 7.2.2 Docker API的基本示例
  112. 7.3 API的高级应用
  113. 7.3.1 场景概述
  114. 7.3.2 场景实现
  115. 7.4 本章小结
  116. 第8章 Docker安全
  117. 8.1 深入理解Docker的安全
  118. 8.1.1 Docker的安全性
  119. 8.1.2 Docker容器的安全性
  120. 8.2 安全策略
  121. 8.2.1 Cgroup
  122. 8.2.2 ulimit
  123. 8.2.3 容器组网
  124. 8.2.4 容器+全虚拟化
  125. 8.2.5 镜像签名
  126. 8.2.6 日志审计
  127. 8.2.7 监控
  128. 8.2.8 文件系统级防护
  129. 8.2.9 capability
  130. 8.2.10 SELinux
  131. 8.2.11 AppArmor
  132. 8.2.12 Seccomp
  133. 8.2.13 grsecurity
  134. 8.2.14 几个与Docker安全相关的项目
  135. 8.3 安全加固
  136. 8.3.1 主机逃逸
  137. 8.3.2 安全加固之capability
  138. 8.3.3 安全加固之SELinux
  139. 8.3.4 安全加固之AppArmor
  140. 8.4 Docker安全遗留问题
  141. 8.4.1 User Namespace
  142. 8.4.2 非root运行Docker daemon
  143. 8.4.3 Docker热升级
  144. 8.4.4 磁盘限额
  145. 8.4.5 网络I/O
  146. 8.5 本章小结
  147. 第9章 Libcontainer简介
  148. 9.1 引擎的引擎
  149. 9.1.1 关于容器的引擎
  150. 9.1.2 对引擎的理解
  151. 9.2 Libcontainer的技术原理
  152. 9.2.1 为容器创建新的命名空间
  153. 9.2.2 为容器创建新的Cgroup
  154. 9.2.3 创建一个新的容器
  155. 9.2.4 Libcontainer的功能
  156. 9.3 关于runC
  157. 9.3.1 runC和Libcontainer的关系
  158. 9.3.2 runC的工作原理
  159. 9.3.3 runC的未来
  160. 9.4 本章小结
  161. 第10章 Docker实战
  162. 10.1 Dockerfile简介
  163. 10.1.1 一个简单的例子
  164. 10.1.2 Dockerfile指令
  165. 10.1.3 再谈Docker镜像制作
  166. 10.2 基于Docker的Web应用和发布
  167. 10.2.1 选择基础镜像
  168. 10.2.2 制作HTTPS服务器镜像
  169. 10.2.3 将Web源码导入Tomcat镜像中
  170. 10.2.4 部署与验证
  171. 10.3 为Web站点添加后台服务
  172. 10.3.1 代码组织结构
  173. 10.3.2 组件镜像制作过程
  174. 10.3.3 整体部署服务
  175. 10.4 本章小结
  176. 第11章 Docker集群管理
  177. 11.1 Compose
  178. 11.1.1 Compose概述
  179. 11.1.2 Compose配置简介
  180. 11.2 Machine
  181. 11.2.1 Machine概述
  182. 11.2.2 Machine的基本概念及运行流程
  183. 11.3 Swarm
  184. 11.3.1 Swarm概述
  185. 11.3.2 Swarm内部架构
  186. 11.4 Docker在OpenStack上的集群实战
  187. 11.5 本章小结
  188. 第12章 Docker生态圈
  189. 12.1 Docker生态圈介绍
  190. 12.2 重点项目介绍
  191. 12.2.1 编排
  192. 12.2.2 容器操作系统
  193. 12.2.3 PaaS平台
  194. 12.3 生态圈的未来发展
  195. 12.3.1 Docker公司的发展和完善方向
  196. 12.3.2 OCI组织
  197. 12.3.3 生态圈格局的分化和发展
  198. 12.4 本章小结
  199. 第13章 Docker测试
  200. 13.1 Docker自身测试
  201. 13.1.1 Docker自身的测试框架
  202. 13.1.2 运行Docker测试
  203. 13.1.3 在容器中手动运行测试用例
  204. 13.1.4 运行集成测试中单个或多个测试用例
  205. 13.1.5 Docker测试用例集介绍
  206. 13.1.6 Docker测试需要改进的方面
  207. 13.1.7 构建和测试文档
  208. 13.1.8 其他Docker测试套
  209. 13.2 Docker技术在测试中的应用
  210. 13.2.1 Docker对测试的革命性影响
  211. 13.2.2 Docker技术适用范围
  212. 13.2.3 Jenkins+Docker自动化环境配置
  213. 13.3 本章小结
  214. 第14章 参与Docker开发
  215. 14.1 改进Docker
  216. 14.1.1 报告问题
  217. 14.1.2 提交补丁
  218. 14.2 编译自己的Docker
  219. 14.2.1 使用make工具编译
  220. 14.2.2 手动启动容器编译
  221. 14.2.3 编译动态链接的可执行文件
  222. 14.2.4 跑测试用例及小结
  223. 14.3 开源的沟通和交流
  224. 14.3.1 Docker沟通和交流的途径
  225. 14.3.2 开源沟通和交流的建议
  226. 14.4 Docker项目的组织架构
  227. 14.4.1 管理模型
  228. 14.4.2 组织架构
  229. 14.5 本章小章
  230. 附录A FAQ
  231. 附录B 常用Dockerfile
  232. 附录C Docker信息获取渠道
载入中

热门划线

  1. 容器=cgroup+namespace+rootfs+容器引擎(用户态工具)4 人
  2. 与容器相对应,如果说容器提供了一个完整的、隔离的运行环境,那么镜像则是这个运行环境的静态体现,是一个还没有运行起来的“运行环境”。3 人
  3. Registry是一个存放镜像的仓库,它通常被部署在互联网服务器或者云端。3 人
  4. 可以在工程目录下创建两个Dockerfile,一个用于发布版本,此时采用静态导入的方式;另一个用于调试,使用动态挂载的方式。编译的时候可以通过docker build的-f选项指定需要的Dockerfile。3 人
  5. Docker的容器就是“软件界的集装箱”,它可以安装任意的软件和库文件,做任意的运行环境配置。开发及运维人员在转移和部署应用的时候,不用关心容器里装了什么软件,也不用了解它们是如何配置的。而管理容器的Docker引擎同样不关心容器里的内容,它只要像码头工人一样让这个容器运行起来就可以了,就像所有其他容器那样。2 人
  6. 容器与虚拟机是互补的。2 人
  7. 而容器则是操作系统级别的虚拟化,利用的是内核的Cgroup和Namespace特性,此功能完全通过软件来实现,仅仅是进程本身就可以与其他进程隔离开,不需要任何辅助。2 人
  8. 容器技术,又称为容器虚拟化,从字面上看它首先是一种虚拟化技术2 人
  9. Cgroup的原生接口通过cgroupfs提供,类似于procfs和sysfs,是一种虚拟文件系统。2 人
  10. cpuacct子系统用来统计各个Cgroup的CPU使用情况2 人

喜欢这本书的人也喜欢