|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《Docker进阶与实战》- ^1 c5 ?& e8 H' Y8 C! w
java电子书推荐理由:本书基于Docker1.8版本,由浅入深地将Docker技术及周边生态呈现给广大读者。第1、2章是容器技术的概述;第3~7章分别介绍镜像、仓库、网络、卷管理等容器核心概念;第7、8章介绍Docker接口和安全;第9、10章是Docker的标准实现,帮助读者创建自己的镜像并理解背后的原理。第11、12章介绍Docker的集群管理及生态圈,帮助读者了解整个生态链。第13、14章是Docker测试及社区开发,帮助读者熟悉Docker社区的运作方式。8 B. ]; E" v/ v, {, ^
+ q4 L+ m' R/ S9 c7 B* i7 m" e$ l
& t; X ]+ }* N
作者:华为Docker实践小组
a/ u1 A' k- a; \* ?出版社:机械工业出版社" \$ H* I) [& t* K+ ^
出版时间:2016年1月" M. d+ x3 `& d# D' `0 @. q
2 Z$ l( Q' m% l! Z& l
$ S* t! n# r* e5 n6 q. E, ~
; G& |1 K {: a. F" i& V2 {
& s/ h. c. w, t6 p9 Q
! M5 e; }6 r) ?( t# K# Y xjava电子书目录:
8 `3 m/ Q m2 J2 ~第1章 Docker简介 1
; Z4 p2 y( c# P& T" I1.1 引言 19 j7 c* l; z9 o: _
1.1.1 Docker的历史和发展 11 W; E2 u( ^- m4 g$ N
1.1.2 Docker的架构介绍 2
/ y* H* g J q2 v' S1.2 功能和组件 3
) b1 `. j: o1 Q( V1.2.1 Docker客户端 38 p& Z0 N, v' F A' U4 w
1.2.2 Docker daemon 3
8 ~* [+ T S1 N1.2.3 Docker容器 3
8 }0 ~: g% I: n1.2.4 Docker镜像 4% f- ~5 S( |/ |1 t; L7 I
1.2.5 Registry 4
7 c8 D* m/ {+ J* ~4 Q z& A1.3 安装和使用 5' p9 T7 l6 z: d" c4 }
1.3.1 Docker的安装 5
) `8 I5 X% E/ p9 t5 c; o1.3.2 Docker的使用 6, D" C$ L k( h3 n/ y) k8 k
1.4 概念澄清 8$ T ~# ]- Q7 s4 d
1.4.1 Docker在LXC基础上做了什么工作 8
* K7 y2 A; l) _, f1.4.2 Docker容器和虚拟机之间有什么不同 9
: _; D& }( z. L- K1.5 本章小结 107 o- s$ \) Y. Z" \
第2章 关于容器技术 11
* D, n0 R3 W$ @2 T t E& b2.1 容器技术的前世今生 11
& v- a0 h2 ^ b# g7 q; G$ B- p2 }! J2.1.1 关于容器技术 113 G0 \4 F* u- q7 P
2.1.2 容器技术的历史 128 f; V) C0 P7 p/ T
2.2 一分钟理解容器 14
8 V' Z! E* ^5 _6 Z' }2.2.1 容器的组成 14
5 z; |3 n3 G- e5 ?" z2.2.2 容器的创建原理 15! |' P1 |( d/ S2 p e/ Y
2.3 Cgroup介绍 16
; \% P3 C4 t* c1 L2.3.1 Cgroup是什么 164 _ F& p' |( i' q
2.3.2 Cgroup的接口和使用 17
5 _$ h) _) g; W) `1 n9 e5 v/ K2.3.3 Cgroup子系统介绍 18
; Q: H$ V5 P; Q2.4 Namespace介绍 20
3 P8 |# T- T8 g, a' O: B& m' v2.4.1 Namespace是什么 20% H% W6 s" o3 }9 O1 k; V, d
2.4.2 Namespace的接口和使用 21 H5 x4 d( T- l! v
2.4.3 各个Namespace介绍 22
# ^3 \! ^" J6 _+ r2.5 容器造就Docker 26
. ~: s+ o) `# y: E/ e2.6 本章小结 27; O4 L/ D% f& S0 c0 ^& q
第3章 理解Docker镜像 28' ?/ G% h) p( q( d% d/ h
3.1 Docker image概念介绍 28! [! D# G7 p \8 J6 D' i
3.2 使用Docker image 29. N- v4 {1 p% _# w
3.2.1 列出本机的镜像 29
7 Z8 o2 G; k7 @$ q3.2.2 Build:创建一个镜像 315 B5 A3 w/ S( J- v" {" t
3.2.3 Ship:传输一个镜像 32! x) G0 Z# y3 N, k) @% l
3.2.4 Run:以image为模板启动一个容器 32
7 M" V. h4 i' \# S3.3 Docker image的组织结构 339 |7 b0 }7 c# ]
3.3.1 数据的内容 33
( `5 x n/ v( e# F. K3.3.2 数据的组织 35
. r$ C: x: n e/ m6 X3.4 Docker image扩展知识 37
# g% C' B' R, G) y) x# R3.4.1 联合挂载 37
# T3 U9 d$ v2 V- S8 a/ g" z5 T# F3.4.2 写时复制 37
: N4 |6 W- F R5 N+ W% H8 x. c3.4.3 Git式管理 40
1 t2 @: M- Q. ?) T- m3.5 本章小结 40, E& f, B* c7 E8 k
第4章 仓库进阶 41! }/ ^( ^+ E/ ^5 A1 M
4.1 什么是仓库 41- O! ~. \$ s- @3 n/ I0 g& S1 J. X
4.1.1 仓库的组成 41$ J: o% c% J5 ?' I$ g2 X9 V
4.1.2 仓库镜像 42% N) J; M2 z0 O% C* C6 }& d
4.2 再看Docker Hub 437 N0 G) P5 m% y
4.2.1 Docker Hub的优点 43
8 p: v" Z7 L! x2 l6 S5 u5 A. L4.2.2 网页分布 448 I' e" N+ F" D! n$ ^
4.2.3 账户管理系统 46
5 r1 L* j0 u9 i+ e4.3 仓库服务 490 a% F, c! Y4 b, W% x" \
4.3.1 Registry功能和架构 49
6 y) k' G4 C% v0 ~* C4.3.2 Registry API 50 F& W3 I' c4 \3 R9 u; n2 S& I
4.3.3 Registry API传输过程分析 532 A4 @: I9 P+ R& M$ V, C9 E
4.3.4 鉴权机制 57, I* E9 ^5 W! V# G( }' i6 L L% `
4.4 部署私有仓库 619 G0 A, I' f' \: r$ E
4.4.1 运行私有服务 619 y7 N6 _3 `" S$ F
4.4.2 构建反向代理 61
* Y3 k6 O: J3 v4.5 Index及仓库高级功能 645 f# Z* M# ^) Y) | J
4.5.1 Index的作用和组成 646 O7 _9 n( T) c/ ?" g
4.5.2 控制单元 65
- B2 G% s. d5 z4.5.3 鉴权模块 66# i. m% V E+ S( p0 y/ h' ]
4.5.4 数据库 67
+ V( x% f' m' V4 V9 x' F4.5.5 高级功能 68
$ v: R7 j( r0 k0 j x; h y4.5.6 Index客户端界面 69- N( u7 ` \: H+ g/ U- O2 l% E
4.6 本章小结 69" M5 M7 [1 N& F$ @
第5章 Docker网络 71& m$ c1 t& [7 S& t% J
5.1 Docker网络现状 71; c9 ?3 Q% Y. e: I& c
5.2 基本网络配置 73
' B7 J. o' {5 H0 Q' P5 G7 A5.2.1 Docker网络初探 73
4 w6 j8 D# q- R8 a5.2.2 Docker网络相关参数 80
. S8 N [/ y3 Q1 ^. Y5.3 高级网络配置 85& u8 f) L# ^8 S
5.3.1 容器跨主机多子网方案 85
* J) K3 u, W9 J" {, i. W5.3.2 容器跨主机多子网配置方法 86
2 }6 v+ Z/ i U8 d! `5.4 网络解决方案进阶 90. t" n, T1 L1 T1 b4 s
5.4.1 Weave 90
- ?0 r j6 T" N' r" d0 K/ y5.4.2 Flannel 91+ f1 ^! u- j: _+ R% H9 b" Z y& K
5.4.3 SocketPlane 940 V7 B" ? Y4 L @3 e5 S
5.5 本章小结 98
2 U, S6 u" @' f5 n# M i! N, d第6章 容器卷管理 99
9 q: q8 Z2 A+ H: |/ E6.1 Docker卷管理基础 997 h1 q+ W1 N* z
6.1.1 增加新数据卷 993 i* S# q8 O+ q: b
6.1.2 将主机目录挂载为数据卷 100
, ?) i% H" f0 X4 w6 q6.1.3 创建数据卷容器 100# n1 g: t$ T9 S! r
6.1.4 数据卷的备份、转储和迁移 1017 _ e) i: D x5 X2 o
6.1.5 Docker卷管理的问题 101/ J, k! o* ]9 h+ } U
6.2 使用卷插件 102
) T0 M0 s! b5 h: u; Z/ f8 i9 f2 a6.2.1 卷插件简介 1028 m% i% {5 c% A8 W
6.2.2 卷插件的使用 102( Q. ^$ P/ E9 h2 t$ Y2 B2 M
6.3 卷插件剖析 1036 g8 p) |# a1 @) X, _4 J( F( \
6.3.1 卷插件工作原理 104
G0 L. v& K) _4 o" j6.3.2 卷插件API接口 105
8 ]) ?5 Z5 D# J _- U1 [! {2 ~9 C6.3.3 插件发现机制 1055 F8 E* ~, @( n5 ?8 [/ q9 ]
6.4 已有的卷插件 1064 C8 J* S x/ C
6.5 本章小结 107
8 N3 w* T, Z( ?$ ^" K N: \* V: H第7章 Docker API 1084 N& y! O( i: ` F1 v
7.1 关于 Docker API 108
% D2 c' {% l% V7 B, o7 e, v7.1.1 REST 简介 108
2 T( y9 }$ A3 }/ i+ M+ Y) A N. t }7.1.2 Docker API 初探 1090 K" ^* [" Q% F4 P9 V
7.1.3 Docker API 种类 110
4 s- P: b( n* m, X2 F7.2 RESTful API应用示例 110$ D+ P R: q5 _) b, ?% x" p
7.2.1 前期准备 111! p, h" e; @' I
7.2.2 Docker API的基本示例 116
% M- V2 `3 w5 N/ Z5 T( {! m7.3 API的高级应用 123
) h$ J6 Q- y+ A6 I7.3.1 场景概述 123
2 q3 Y. _- @, Z5 B/ \1 M3 {7.3.2 场景实现 124" N2 Z- _5 r% S5 ]7 P. \% ^" w) U
7.4 本章小结 131% u+ K8 j" j8 p
第8章 Docker安全 132
( e1 w7 Y: q' ?# g6 @7 W8.1 深入理解Docker的安全 132( F g! |' _4 {2 O3 Y
8.1.1 Docker的安全性 132
% Y% |% s" S" h5 I* V7 `8.1.2 Docker容器的安全性 132
" {: Z' B0 n0 t4 ]6 h2 Z" N8.2 安全策略 133& A* x* A2 k% C
8.2.1 Cgroup 133$ Y) f; Q. ?, t4 z- @
8.2.2 ulimit 135
( Q0 q# q1 w2 R$ T8.2.3 容器组网 135% C# `, v0 H" H& g t$ c* {0 d. V
8.2.4 容器 全虚拟化 136
; S5 ~1 ^+ T5 M* E! a8.2.5 镜像签名 136; J4 B6 _6 ~% Q. H% c
8.2.6 日志审计 136
' l; |+ Y* k. r) u# O& A0 v8.2.7 监控 137
* c9 I& x5 k! o8.2.8 文件系统级防护 137: [$ g. Q y: |" p8 i/ N
8.2.9 capability 137
! r. D# r( @" }* m8 o8.2.10 SELinux 138$ f. ~- s4 H% S8 a& N. _8 s
8.2.11 AppArmor 142
' }; N7 r) j! B3 Q1 D& Y5 |8.2.12 Seccomp 144
8 O; z, B$ Y9 V1 A6 S5 i8.2.13 grsecurity 145
^# l" }1 C ^( s; N( }6 y8.2.14 几个与Docker安全相关的项目 146
' A- R5 c2 i2 N) s8.3 安全加固 1468 I. }% T& c/ G1 B
8.3.1 主机逃逸 147
1 w& C- s0 s' m- w8.3.2 安全加固之capability 150
% c6 L+ g6 }1 Z& K) A8.3.3 安全加固之SELinux 151
1 }: _1 `' X- e* H6 }8.3.4 安全加固之AppArmor 152# f+ w5 o7 z0 S+ g
8.4 Docker安全遗留问题 1530 M/ f# q* H+ W& Q3 O4 F' e. J8 W
8.4.1 User Namespace 153$ q' P% Y, u7 E" C( w
8.4.2 非root运行Docker daemon 153
1 j: [! \0 q& Z8.4.3 Docker热升级 153, y4 }# W6 o b m$ ?1 F
8.4.4 磁盘限额 154
3 ^/ h& C. V8 R6 |* q( Y8.4.5 网络I/O 1542 V+ ?& D! q7 y- M X
8.5 本章小结 154" h' u) `. n8 r; f& M' F7 P1 I
第9章 Libcontainer简介 155
- o1 P- R9 s1 _( v, z9.1 引擎的引擎 155# r* ]6 N5 L6 m/ t! O! {
9.1.1 关于容器的引擎 155
' o) o: K7 V7 E9.1.2 对引擎的理解 156
( z( o: S) W) v8 D: H9.2 Libcontainer的技术原理 157
& i# l0 ^0 C& {9.2.1 为容器创建新的命名空间 158" [- `$ o% i0 Z2 F" p2 ~
9.2.2 为容器创建新的Cgroup 159. f; G' N) h9 Y" a4 }* e- Q/ Z
9.2.3 创建一个新的容器 160
. N" f$ Y3 b: n& l. ~9.2.4 Libcontainer的功能 1640 n$ ^( e$ ^( p! R" Z& Z
9.3 关于runC 166
2 M: R& v! s! |2 S/ y1 ~9 |9.3.1 runC和Libcontainer的关系 166/ P3 D' J+ v! S2 Q7 y
9.3.2 runC的工作原理 167
% L. g- Z8 j( R7 P9 I# W9.3.3 runC的未来 168
6 i+ o4 @8 V! ]1 m! d1 @ J9.4 本章小结 1694 L% ` `8 Z5 `4 c+ J
第10章 Docker实战 170
2 u8 z0 c5 d+ e# o+ _10.1 Dockerfile简介 170
: Y3 q" p3 x; ~3 P2 T- W10.1.1 一个简单的例子 171: t& ^: }+ k7 W$ G, a& ~# i F2 f
10.1.2 Dockerfile指令 171/ ~5 E/ S5 F0 _7 s
10.1.3 再谈Docker镜像制作 173
& f }6 i( w/ j$ Y/ e& m10.2 基于Docker的Web应用和发布 1743 t7 G$ Z4 k3 r4 t4 e/ o) o
10.2.1 选择基础镜像 174
# r4 h( i) y( }0 B4 S10.2.2 制作HTTPS服务器镜像 175
3 g% F+ R4 O1 j4 n5 K10.2.3 将Web源码导入Tomcat镜像中 178
. G" h) D( \3 Q8 S: l1 z% |10.2.4 部署与验证 179
( R' c" @; G* m; A6 _, H10.3 为Web站点添加后台服务 180; ^! C6 d" E! T4 Z8 J/ C
10.3.1 代码组织结构 180 M$ _% O/ L- _2 q* @3 a" n
10.3.2 组件镜像制作过程 183, z ^+ _( N6 j o: |% ~" ?
10.3.3 整体部署服务 183
' Q1 M6 l% m; B+ ~8 C5 R7 m0 W# Z10.4 本章小结 1848 w+ o9 ^; U9 E) w8 V
第11章 Docker集群管理 1851 j8 R' T- N7 w% w; k; `
11.1 Compose 1856 F8 }. k# J7 F* Y
11.1.1 Compose概述 1857 d* t% b* G0 O0 l' Z" e
11.1.2 Compose配置简介 186$ a. i$ a0 f R
11.2 Machine 187
. l; X/ Y" O1 M! I- I/ ^11.2.1 Machine概述 187. m7 N4 y: N s
11.2.2 Machine的基本概念及运行流程 188
% A+ j0 L7 }8 Z! f/ X6 K8 r11.3 Swarm 188' ? S2 x3 l" q: f9 Y
11.3.1 Swarm概述 188. U, C" t1 u) O! X# A
11.3.2 Swarm内部架构 1893 ^; O4 `+ d4 q L6 T* p/ V' E
11. 4 Docker在OpenStack上的集群实战 190
! O. A7 K* S. {1 B) A11.5 本章小结 196) Y6 u* E) H* N0 q( X
第12章 Docker生态圈 197
7 s, L3 R$ j% L7 Z12.1 Docker生态圈介绍 1978 y. n C, x4 p& ^& i" A1 W
12.2 重点项目介绍 198
4 H! A6 X. l) n5 n5 _12.2.1 编排 1988 i' ?3 [) e5 R% ], j/ J9 O
12.2.2 容器操作系统 203
) G8 I8 }6 h/ M: F% E+ P0 N% M* B12.2.3 PaaS平台 206; ~3 @( Q- k9 _, V! v8 |# ^. p, ~
12.3 生态圈的未来发展 208- G: |- ~3 q6 n
12.3.1 Docker公司的发展和完善方向 208, B# u/ d j9 C/ p' x% I
12.3.2 OCI组织 209
" v% \) I9 v( M, Q" l$ m% S12.3.3 生态圈格局的分化和发展 210: T6 ~( a9 ]* K7 u' Y% ~! v" ^
12.4 本章小章 211
) n2 J$ Y; i7 X/ o F- y第13章 Docker测试 212+ T; H! b6 n u" d$ ~$ Y
13.1 Docker自身测试 2120 V: i, T( P# b+ {
13.1.1 Docker自身的测试框架 212
5 |, w3 s, j4 I$ @5 T1 m, N4 Y13.1.2 运行Docker测试 213
0 C2 B8 q$ ]6 z! K5 l13.1.3 在容器中手动运行测试用例 2154 ^5 h- k& o& D( T
13.1.4 运行集成测试中单个或多个测试用例 215/ N* v; G, e9 f# m+ c& z
13.1.5 Docker测试用例集介绍 216
0 I7 u0 d" _+ v e) V- U8 D/ N. i13.1.6 Docker测试需要改进的方面 217 L1 a" }' F+ H/ e3 }
13.1.7 构建和测试文档 217
* U6 f* I5 @& B; V& T5 l+ ]3 s+ m13.1.8 其他Docker测试套 218) p# f( g* C) P
13.2 Docker技术在测试中的应用 220
6 Z: C& W0 E( G8 T: W8 c13.2.1 Docker对测试的革命性影响 221
9 N6 c2 s: Z: g" K7 w2 d5 l13.2.2 Docker技术适用范围 222. t m' u1 y3 N
13.2.3 Jenkins Docker自动化环境配置 223
2 @. m ]6 Q: x/ E3 F13.3 本章小结 229
9 f1 _/ D0 C3 Q+ j) c第14章 参与Docker开发 230+ b0 S1 p/ I0 `; H. V
14.1 改进Docker 230
. S3 z2 L! D, f- p0 x3 z- C1 j14.1.1 报告问题 2304 g% [5 c. \! g
14.1.2 提交补丁 231
' `- u; c7 T8 t& v2 l A3 V2 b( s( G0 C! J14.2 编译自己的Docker 235
2 P5 J Q1 R5 f! C6 [2 S/ U14.2.1 使用make工具编译 235) l S* a [5 g. i; G: O
14.2.2 手动启动容器编译 235" v$ }' O' m& N/ z3 v! U5 E' M4 @
14.2.3 编译动态链接的可执行文件 237
* @$ U" e9 {$ v% A( O# B14.2.4 跑测试用例及小结 237
" c1 Z+ s1 B A5 A+ Q14.3 开源的沟通和交流 2389 H9 P$ x( o( k4 R& {1 E
14.3.1 Docker沟通和交流的途径 238* _1 V: w) |# i( r( M0 e, f; A
14.3.2 开源沟通和交流的建议 238
% v& h3 Y- b, P4 p( v1 c. y14.4 Docker项目的组织架构 2391 E% c% A9 K9 f& L' \# v
14.4.1 管理模型 239
8 N" K- A2 R% z! C1 H6 }4 n: e14.4.2 组织架构 2404 B3 g2 t! m# ~5 G( o! Q
14.5 本章小章 242
/ w/ y$ z: [' O- k: s! ~% m9 }6 Z% _6 P( T9 c, j
# y. z0 r- _# f1 {' @ S/ |# G% K) J
) w0 a" o3 b. z- j& A* n* c% D# }! \" M, ?
电子书获取地址链接:Docker进阶与实战! Q9 t8 U& a6 y( c
, H0 s; P- V/ \1 x
8 E; j4 e5 [; H |
|