Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

自己动手写Docker PDF 下载


分享到:
时间:2018-07-15 15:44来源:http://www.jb51.net/(脚本之家 作者:转载  侵权举报
自己动手写Docker PDF 下载
失效链接处理
自己动手写Docker PDF 下载

转载自:https://www.jb51.net/books/625023.html
 
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
 
 

用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://e.dangdang.com/products/1900752866.html
  
 
相关截图:




资料简介:
通过讲解 Docker 使用到的各种底层技术,例如Namespace、Cgroups等来自己一步步动手完成一个简单版本的Docker。在自己动手的过程中,从而对Docker 这个技术有一个整体、细致的了解。能够明白Docker 的原理以及结构,从而加深对目前炽手可热的Docker 技术的理解,方便解决工作中使用Docker 遇到的各种问题。 通过讲解 Docker 使用到的各种底层技术,例如Namespace、Cgroups等来自己一步步动手完成一个简单版本的Docker。在自己动手的过程中,从而对Docker 这个技术有一个整体、细致的了解。能够明白Docker 的原理以及结构,从而加深对目前炽手可热的Docker 技术的理解,方便解决工作中使用Docker 遇到的各种问题。
 
资料目录:
 

前言

第1章 容器与开发语言

1.1 Docker

1.1.1 简介

1.1.2 容器和虚拟机比较

1.1.3 容器加速开发效率

1.1.4 利用容器合作开发

1.1.5 利用容器快速扩容

1.1.6 安装使用Docker

1.2 Go

1.2.1 描述

1.2.2 安装Go

1.2.3 配置GOPATH

1.3 小结

第2章 基础技术

2.1 Linux Namespace介绍

2.1.1 概念

2.1.2 UTS Namespace

2.1.3 IPC Namespace

2.1.4 PID Namespace

2.1.5 Mount Namespace

2.1.6 User Namespace

2.1.7 Network Namespace

2.2 Linux Cgroups介绍

2.2.1 什么是Linux Cgroups

2.2.2 Docker是如何使用Cgroups的

2.2.3 用Go语言实现通过cgroup限制容器的资源

2.3 Union File System

2.3.1 什么是Union File System

2.3.2 AUFS

2.3.3 Docker是如何使用AUFS的

2.3.4 自己动手写AUFS

2.4 小结

第3章 构造容器

3.1 构造实现run命令版本的容器

3.1.1 Linux proc文件系统介绍

3.1.2 实现run命令

3.2 增加容器资源限制

3.2.1 定义Cgroups的数据结构

3.2.2 在启动容器时增加资源限制的配置

3.3 增加管道及环境变量识别

3.4 小结

第4章 构造镜像

4.1 使用busybox创建容器

4.1.1 busybox

4.1.2 pivot_root

4.2 使用AUFS包装busybox

4.3 实现volume数据卷

4.4 实现简单镜像打包

4.5 小结

第5章 构建容器进阶

5.1 实现容器的后台运行

5.2 实现查看运行中容器

5.2.1 准备数据

5.2.2 实现mydocker ps

5.3 实现查看容器日志

5.4 实现进入容器Namespace

5.4.1 setns

5.4.2 Cgo

5.4.3 实现命令

5.5 实现停止容器

5.6 实现删除容器

5.7 实现通过容器制作镜像

5.8 实现容器指定环境变量运行

5.8.1 修改runCommand

5.8.2 修改Run函数

5.8.3 修改NewParentProcess函数

5.8.4 修改mydocker exec命令

5.9 小结

第6章 容器网络

6.1 网络虚拟化技术介绍

6.1.1 Linux虚拟网络设备

6.1.2 Linux路由表

6.1.3 Linux iptables

6.1.4 Go语言网络库介绍

6.2 构建容器网络模型

6.2.1 模型

6.2.2 调用关系

6.3 容器地址分配

6.3.1 bitmap算法介绍

6.3.2 数据结构定义

6.3.3 地址分配的实现

6.3.4 地址释放的实现

6.3.5 测试

6.4 创建Bridge网络

6.4.1 Bridge Driver Create实现

6.4.2 Bridge Driver初始化Linux Bridge流程

6.4.3 Bridge Driver Delete实现

6.4.4 测试

6.5 在Bridge网络创建容器

6.5.1 挂载容器端点的流程

6.5.2 测试

6.6 容器跨主机网络

6.6.1 跨主机容器网络的IPAM

6.6.2 跨主机容器网络通信的常见实现方式

6.7 小结

第7章 高级实践

7.1 使用mydocker创建一个可访问的nginx容器

7.1.1 获取nginx tar包

7.1.2 构建自己的nginx镜像

7.1.3 运行mynginx容器

7.2 使用mydocker创建一个flask+redis的计数器

7.2.1 创建redis容器

7.2.2 制作flask镜像

7.2.3 创建myflask容器

7.3 runC

7.3.1 简介

7.3.2 OCI标准包(bundle)

7.3.3 config.json

7.3.4 mounts

7.3.5 process

7.3.6 user

7.3.7 hostname

7.3.8 platform

7.3.9 钩子(Hook)

7.4 runC创建容器流程

7.5 Docker containerd项目介绍

7.5.1 架构

7.5.2 特性和路线图

7.5.3 containerd和Docker之间的关系

7.5.4 containerd、OCI和runC之间的关系

7.5.5 containerd和容器编排系统的关系

7.6 Kubernetes CRI容器引擎

7.6.1 什么是CRI

7.6.2 为什么需要CRI

7.6.3 为什么CRI是接口且是基于容器的而不是基于Pod的

7.6.4 如何使用CRI

7.6.5 CRI的目标

7.6.6 已知的问题

7.7 小结

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐