16回答

0收藏

自己动手写Docker PDF 电子书

电子书 电子书 1373 人阅读 | 16 人回复 | 2023-09-01

Java电子书:自己动手写Docker 格式 pdf 电子书 PDF 电子书 Java吧 java8.com7 [0 S, S" h0 ?3 G

: G7 o6 t; t/ }5 q4 p& c" W! x" c( y$ X+ `3 f( Z6 j
编号:mudaima-P0260【Java吧 java8.com】
  O" y# F8 b3 T

4 g, C/ G! X. ^2 \8 z; ^2 Z. P2 q* t8 k2 T3 A8 J
2 w: a$ ?) B$ N7 k) V3 d
Java电子书目录:第1章 容器与开发语言………………………………………………………………………1/ K' m" ~/ j9 f, k9 ~3 x
1.1 Docker ………………………………………………………………………………1
2 J9 K  ^) B, t. U! g8 H1.1.1 简介 …………………………………………………………………………10 m0 ?' D4 w- i
1.1.2 容器和虚拟机比较 …………………………………………………………2* m5 x8 _# a# i( D, [2 Z! ^
1.1.3 容器加速开发效率 …………………………………………………………3
5 o6 W- i1 s" N+ Z1.1.4 利用容器合作开发 …………………………………………………………4/ Z6 e' \2 F, K
1.1.5 利用容器快速扩容 …………………………………………………………4( Y" c+ E) T, H
1.1.6 安装使用Docker ……………………………………………………………4" ?/ ~: i' ~6 f  g% T$ i
1.2 Go ……………………………………………………………………………………59 [6 L6 \; @; Z: `0 I. n8 `6 X
1.2.1 描述 …………………………………………………………………………5" Z" k" w: a, D, J1 L5 L' y, ~( ]
1.2.2 安装Go ………………………………………………………………………6
5 D: Y1 C, l( F1.2.3 配置GOPATH ………………………………………………………………6
) @( ^6 X) W1 e4 s1.3 小结 …………………………………………………………………………………7
# f! f, Z* ^: ?4 C4 j5 {7 ?第2章 基础技术………………………………………………………………………………8, n/ l, ~+ _  A- J0 G% j
2.1 Linux Namespace 介绍 ………………………………………………………………8
# |: y; i/ Y7 J2.1.1 概念 …………………………………………………………………………84 l$ k$ l6 {2 _  h2 S7 B, K: v! i
2.1.2 UTS Namespace ………………………………………………………………10
* S6 c  g' a. Z2 K9 }, u, u2.1.3 IPC Namespace ………………………………………………………………110 x7 K6 o- D" n) c2 t7 i. ]
2.1.4 PID Namespace ………………………………………………………………137 }/ X8 E# a) R" |
2.1.5 Mount Namespace ……………………………………………………………14
+ n& k) a0 L: L2.1.6 User Namespace ………………………………………………………………16& f% o* A! e2 N/ o) g3 V
2.1.7 Network Namespace ………………………………………………………… 18; E" M& i# x5 y2 n% t0 t
2.2 Linux Cgroups 介绍 ………………………………………………………………… 20
( @0 E9 z# Q! O& A2.2.1 什么是Linux Cgroups ……………………………………………………… 20
0 T5 d/ O6 ~2 a% F2.2.2 Docker 是如何使用Cgroups 的 …………………………………………… 24  ^- |( @- x4 j* o5 `
2.2.3 用Go 语言实现通过cgroup 限制容器的资源 …………………………… 25
; Q, p8 T. p( N( S! z6 D9 y2.3 Union File System …………………………………………………………………… 26
0 V$ `8 `! F1 }7 U$ `) r, [2.3.1 什么是Union File System …………………………………………………… 26  q: Y$ J& }' y* q- Z
2.3.2 AUFS ………………………………………………………………………… 27; F; H- F+ p$ w3 b0 V  W
2.3.3 Docker 是如何使用AUFS 的 ……………………………………………… 27
4 h2 F% O" ^  [2.3.4 自己动手写AUFS…………………………………………………………… 34, \$ Q0 c, p2 G1 @: X* m
2.4 小结 ………………………………………………………………………………… 37" x. a! e. t1 K2 C6 d
第3 章 构造容器……………………………………………………………………………… 382 D6 N# R2 Y" A" c% c
3.1 构造实现run 命令版本的容器 …………………………………………………… 384 o" b, f: W' z; b3 ~' a
3.1.1 Linux proc 文件系统介绍 …………………………………………………… 38
9 ^+ r# {0 P. ]% {0 X3 |; q, s1 p3.1.2 实现 run 命令 ……………………………………………………………… 39
' z+ [# E3 y/ N/ Q$ m3.2 增加容器资源限制 ………………………………………………………………… 45/ S# _- y" N. [9 n% J3 X
3.2.1 定义Cgroups 的数据结构 ………………………………………………… 45
2 @* b2 F+ D; B, y3.2.2 在启动容器时增加资源限制的配置 ……………………………………… 51
3 K, |! K& o2 g3 U. K' A5 X3.3 增加管道及环境变量识别 ………………………………………………………… 531 e7 C2 W: V- j9 k, C# E; F
3.4 小结 ………………………………………………………………………………… 589 T1 H. G+ R' {6 ^# n
第4 章 构造镜像……………………………………………………………………………… 59
6 B4 ~0 Z6 P7 b0 d; z, w4.1 使用busybox 创建容器 …………………………………………………………… 59
: D  ]" j8 k/ H7 `, |3 L+ e" i* M8 U4.1.1 busybox ……………………………………………………………………… 593 Q' |2 g1 C% c8 O& [, b
4.1.2 pivot_root …………………………………………………………………… 60
7 f) g/ T6 L! b1 j! [4.2 使用AUFS 包装busybox …………………………………………………………… 633 R2 L/ l% N# N+ E7 j) t! g3 @
4.3 实现volume 数据卷 ………………………………………………………………… 67& o0 ?- K4 o3 t: {( o
4.4 实现简单镜像打包 ………………………………………………………………… 75
2 Y8 E6 x/ ^' c  ^+ I5 h4.5 小结 ………………………………………………………………………………… 77
1 g* j9 p' i; ~- G第5 章 构建容器进阶………………………………………………………………………… 78* q* K! l) C; h. l1 M: t7 i
5.1 实现容器的后台运行 ……………………………………………………………… 78
! O2 t" W3 o3 ]5.2 实现查看运行中容器 ……………………………………………………………… 82
* A2 S7 J! q* ^6 ?" \, p5.2.1 准备数据 …………………………………………………………………… 820 c7 r' S7 j% ~+ y
5.2.2 实现mydocker ps …………………………………………………………… 87
0 ?" ^3 [: a( J, |. u! t5.3 实现查看容器日志 ………………………………………………………………… 90' n  Z. y9 a/ f
5.4 实现进入容器Namespace ………………………………………………………… 939 ?0 }- z7 C( |2 \- n
5.4.1 setns ………………………………………………………………………… 94
. u# \( }* `( A# P5.4.2 Cgo …………………………………………………………………………… 94
( D' p# Q/ J( O) p5 b: |5.4.3 实现命令 …………………………………………………………………… 948 k) K2 @" e; o  `, A
5.5 实现停止容器 ……………………………………………………………………… 100# v: w, J& U5 z
5.6 实现删除容器 ……………………………………………………………………… 104
$ P' @7 |7 I0 u( K4 R% @2 f# Q- I5.7 实现通过容器制作镜像 …………………………………………………………… 105; u3 l1 G& Q$ Y: t- k: i4 `
5.8 实现容器指定环境变量运行 ……………………………………………………… 117
3 N$ p& p! T" @! x5.8.1 修改runCommand …………………………………………………………… 117: L# }, d+ u- Y5 T1 z
5.8.2 修改Run 函数 ……………………………………………………………… 117  n) {# p9 ]0 {3 ?0 \
5.8.3 修改NewParentProcess 函数 ……………………………………………… 118
# X7 n1 N# {: @  H) y  Z! ^5.8.4 修改mydocker exec 命令 …………………………………………………… 119) U0 H4 C, g# l& I: s
5.9 小结 ………………………………………………………………………………… 121
  T3 J1 f; }$ H. K第6 章 容器网络……………………………………………………………………………… 122
* F5 c" h! f' ^: `6.1 网络虚拟化技术介绍 ……………………………………………………………… 1224 m6 m0 t4 h/ c" @8 |$ L- R
6.1.1 Linux 虚拟网络设备 ………………………………………………………… 1220 E& B! P8 \7 J* B7 A) r; H8 `
6.1.2 Linux 路由表 ………………………………………………………………… 124
% a4 s. P/ g# N) |6.1.3 Linux iptables ………………………………………………………………… 126
0 P- o+ R0 {, ~1 Q5 O6.1.4 Go 语言网络库介绍 ………………………………………………………… 127
% ]! j- j" T$ Z% D2 l, ^6.2 构建容器网络模型 ………………………………………………………………… 128
. p  o2 L6 }( l- A) a, O# V- f. ]4 n6.2.1 模型 ………………………………………………………………………… 1280 i2 k* K1 K9 k9 u- w) |& M
6.2.2 调用关系 …………………………………………………………………… 130$ P2 j4 D3 r) l. x, O
6.3 容器地址分配 ……………………………………………………………………… 137
( L. N  {4 y: s: |, N' p6.3.1 bitmap 算法介绍 …………………………………………………………… 138+ C' a  y) K0 S/ G5 m- S8 f! ^
6.3.2 数据结构定义 ……………………………………………………………… 138
# E- C; C( e8 D  o* B6.3.3 地址分配的实现 …………………………………………………………… 140. W$ Y+ y' k% L
6.3.4 地址释放的实现 …………………………………………………………… 1421 u8 N- g% z/ ~/ }
6.3.5 测试 ………………………………………………………………………… 142
1 ]% r1 T/ ^$ ^6.4 创建Bridge 网络 …………………………………………………………………… 144
  k  q2 C  c! _* U) ?6.4.1 Bridge Driver Create 实现 …………………………………………………… 1441 \5 e- h3 \  }% {/ h  N" M2 i
6.4.2 Bridge Driver 初始化Linux Bridge 流程 …………………………………… 144+ K3 w+ [; k( t9 j8 P+ m, u8 T+ k2 E
6.4.3 Bridge Driver Delete 实现 …………………………………………………… 148+ |0 B- o' G, w7 O/ M4 k
6.4.4 测试 ………………………………………………………………………… 148
3 e. C3 a& ^7 {# V: A6 X' |2 E6.5 在Bridge 网络创建容器 …………………………………………………………… 1490 j$ T8 q6 V- ]1 h9 A& I
6.5.1 挂载容器端点的流程 ……………………………………………………… 150/ n+ B, ?$ G* J0 [: N
6.5.2 测试 ………………………………………………………………………… 156& U* K1 k0 c) b
6.6 容器跨主机网络 …………………………………………………………………… 1597 o: U; z: @6 l( A
6.6.1 跨主机容器网络的IPAM …………………………………………………… 1606 g9 O- g& ~$ u0 Y
6.6.2 跨主机容器网络通信的常见实现方式 …………………………………… 161- g7 i- `* t9 T$ v9 _2 N! E
6.7 小结 ………………………………………………………………………………… 163
" A  B9 g$ b/ C1 c% U第7 章 高级实践……………………………………………………………………………… 164, Y. m8 m& q5 E5 W% O4 X% o
7.1 使用mydocker 创建一个可访问的nginx 容器 …………………………………… 1649 A+ P  F5 g3 a2 t1 i/ j
7.1.1 获取nginx tar 包 …………………………………………………………… 1641 M# B% i: a! G
7.1.2 构建自己的nginx 镜像 ……………………………………………………… 165: o1 ]; l$ @( l# J5 O9 M( |) F4 |
7.1.3 运行mynginx 容器 ………………………………………………………… 167/ M9 L. {' @# p& W
7.2 使用mydocker 创建一个flask redis 的计数器 ………………………………… 169% ^6 o( T* j! x7 u' s
7.2.1 创建redis 容器 ……………………………………………………………… 169
" z2 ?' V2 z5 j8 L% l# g7.2.2 制作flask 镜像 ……………………………………………………………… 173. O2 u) r+ h% W  V' _# j
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

$ G# o, M" n' D: o# u, L$ d, d

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
关注下面的标签,发现更多相似文章
分享到:

回答|共 16 个

琴弹牛

发表于 2023-9-22 14:14:58 | 显示全部楼层

java吧 真给力

站住别走

发表于 2023-9-22 19:30:03 | 显示全部楼层

我又来了 白漂开始

中砚酒业

发表于 2023-9-26 10:18:15 | 显示全部楼层

给力,真免费

金格尔蒙餐

发表于 2023-9-27 07:35:35 | 显示全部楼层

真的无套路,大赞

雅颂红酒

发表于 2023-9-27 16:43:07 | 显示全部楼层

真的免费下载 难得

不需要鸡汤

发表于 2023-9-29 07:39:44 | 显示全部楼层

免费下载的网站 头一次遇到 不错

嘉洋

发表于 2023-10-1 15:12:01 | 显示全部楼层

学习java,就选java吧了

犀利猫肥姐

发表于 2023-10-2 23:01:28 | 显示全部楼层

不错不错,下载到了

鐿紓

发表于 2023-10-3 07:00:15 | 显示全部楼层

白漂来了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则