Docker生产环境实践指南PDF电子书

Docker生产环境实践指南 Docker进入大家视野已经有段时间了,也历经了多个重要的版本升级。有报告表明,在一线互联网公司中,已经有27%的企业在生产环节中使用到了Docker,先行者已开始从中获益。但目前Docker资料仍停留在概念或者实验级别,关于真正在生产环境中使用Docker的内容则少之又少,杰出实践方面的信息与资料也十分稀缺。
Docker技术对于IT架构乃至软件架构的改变是巨大的,对于想在生产环境中使用Docker的企业和团队来讲,只掌握概念和基本原理是不够的,如何能使用Docker解决自身问题,获得由此带来的收益,需要更多的生产实践方面的内容。本书以生产部署为背景,讲述Docker在真实环境中的使用,能够给读者一个很好的参考,进而达到让读者”举一反三”的效果,使其能让自身的IT架构提升到一个新的技术高度。
内容简介
本书围绕“Docker该如何应用到生产环境”这一核心问题展开。在本书中,读者将接触到多个IT企业应用Docker到生产环境的成功案例,了解Docker实际投产时将会面临的问题,以及它与现有基础设施存在的矛盾与冲突,了解构建Docker生态系统所需的配套设施,包括安全、构建镜像、持续集成/持续交付、镜像存储、配置管理、网络实现、服务发现、持久化存储以及日志监控等模块具体选型方案及利弊所在。本书编写时一些案例参考的Docker版本是Docker 1.6版本或Docker 1.7。
本书要求读者具备一定的容器管理和运维的基础知识,适合在生产环境中使用Docker的相关技术人员阅读,尤其适合具有中高级DevOps和运维背景的读者阅读。
作者简介
Joe Johnston是一名全栈开发人员、企业家及服务于旧金山创业公司的顾问。他是Airstack(一家微服务基础设施创业公司)、California Labs和Connect.Me的联合创始人。
Antoni Batchelli是PeerSpace公司 的工程副总裁和PalletOps公司(一家基础设施自动化咨询公司)的联合创始人。他的主要工作是将函数式编程语言与基础设施结合,以及帮助工程团队打造杰出的软件。
Justin Cormack是一名顾问,他对开源软件、云计算及分布式系统方面的创新机会尤其感兴趣。他目前就职于unikernels。读者可以在GitHub上找到他。
John Fiedler是RelateIQ公司的工程运营总监。他的团队专注于基于Docker的解决方案,为其SaaS基础设施及DevOps提供动力。
Milos Gajdos不仅是一名独立咨询师,还是Infrahackers有限公司的基础设施的负责人,他协助企业更好地理解Linux容器技术,并实现基于容器的基础设施。他偶尔会撰写一些有关容器的博客文章。
目录
内容提要
对本书的赞誉
译者介绍
前言
本书面向的读者
谁真的在生产环境中使用Docker
为什么使用Docker
开发环境与生产环境
我们所说的“生产环境”
功能内置与组合工具
哪些东西不要Docker化
技术审稿人
第1章 入门
1.1 术语
1.1.1 镜像与容器
1.1.2 容器与虚拟机
1.1.3 持续集成/持续交付
1.1.4 宿主机管理
1.1.5 编排
1.1.6 调度
1.1.7 发现
1.1.8 配置管理
1.2 从开发环境到生产环境
1.3 使用Docker的多种方式
1.4 可预期的情况
为什么Docker在生产环境如此困难
第2章 技术栈
2.1 构建系统
2.2 镜像仓库
2.3 宿主机管理
2.4 配置管理
2.5 部署
2.6 编排
第3章 示例:极简环境
3.1 保持各部分的简单
3.2 保持流程的简单
3.3 系统细节
利用systemd
3.4 集群范围的配置、通用配置及本地配置
3.5 部署服务
3.6 支撑服务
3.7 讨论
3.8 未来
3.9 小结
第4章 示例:Web环境
4.1 编排
4.1.1 让服务器上的Docker进入准备运行容器的状态
4.1.2 让容器运行
4.2 连网
4.3 数据存储
4.4 日志
4.5 监控
4.6 无须担心新依赖
4.7 零停机时间
4.8 服务回滚
4.9 小结
第5章 示例:Beanstalk环境
5.1 构建容器的过程
部署/更新容器的过程
5.2 日志
5.3 监控
5.4 安全
5.5 小结
第6章 安全
6.1 威胁模型
6.2 容器与安全性
6.3 内核更新
6.4 容器更新
6.5 suid及guid二进制文件
6.6 容器内的root
6.7 权能
6.8 seccomp
6.9 内核安全框架
6.10 资源限制及cgroup
6.11 ulimit
6.12 用户命名空间
6.13 镜像验证
6.14 安全地运行Docker守护进程
6.15 监控
6.16 设备
6.17 挂载点
6.18 ssh
6.19 私钥分发
6.20 位置
第7章 构建镜像
7.1 此镜像非彼镜像
7.1.1 写时复制与高效的镜像存储与分发
7.1.2 Docker对写时复制的使用
7.2 镜像构建基本原理
7.2.1 分层的文件系统和空间控管
7.2.2 保持镜像小巧
7.2.3 让镜像可重用
7.2.4 在进程无法被配置时,通过环境变量让镜像可配置
7.2.5 让镜像在Docker变化时对自身进行重新配置
7.2.6 信任与镜像
7.2.7 让镜像不可变
7.3 小结
第8章 存储Docker镜像
8.1 启动并运行存储的Docker镜像
8.2 自动化构建
8.3 私有仓库
8.4 私有registry的扩展
8.4.1 S3
8.4.2 本地存储
8.4.3 对registry进行负载均衡
8.5 维护
8.6 对私有仓库进行加固
8.6.1 SSL
8.6.2 认证
8.7 保存/载入
8.8 最大限度地减小镜像体积
8.9 其他镜像仓库方案
第9章 CI/CD
9.1 让所有人都进行镜像构建与推送
9.2 在一个构建系统中构建所有镜像
9.3 不要使用或禁止使用非标准做法
9.4 使用标准基础镜像
9.5 使用Docker进行集成测试
9.6 小结
第10章 配置管理
10.1 配置管理与容器
10.2 面向容器的配置管理
10.2.1 Chef
10.2.2 Ansible
10.2.3 Salt Stack
10.2.4 Puppet
10.3 小结
第11章 Docker存储引擎
11.1 AUFS
11.2 DeviceMapper
11.3 BTRFS
11.4 OverlayFS
11.5 VFS
11.6 小结
第12章 Docker 网络实现
12.1 网络基础知识
12.2 IP地址的分配
端口的分配
12.3 域名解析
12.4 服务发现
12.5 Docker高级网络
12.6 IPv6
12.7 小结
第13章 调度
13.1 什么是调度
13.2 调度策略
13.3 Mesos
13.4 Kubernetes
13.5 OpenShift
Red Hat公司首席工程师Clayton Coleman的想法
第14章 服务发现
14.1 DNS服务发现
DNS服务器的重新发明
14.2 Zookeeper
14.3 基于Zookeeper的服务发现
14.4 etcd
基于etcd的服务发现
14.5 consul
14.5.1 基于consul的服务发现
14.5.2 registrator
14.6 Eureka
基于Eureka的服务发现
14.7 Smartstack
14.7.1 基于Smartstack的服务发现
14.7.2 Nerve
14.7.3 Synapse
14.8 nsqlookupd
14.9 小结
第15章 日志和监控
15.1 日志
15.1.1 Docker原生的日志支持
15.1.2 连接到Docker容器
15.1.3 将日志导出到宿主机
15.1.4 发送日志到集中式的日志平台
15.1.5 在其他容器一侧收集日志
15.2 监控
15.2.1 基于宿主机的监控
15.2.2 基于Docker守护进程的监控
15.2.3 基于容器的监控
15.3 小结

前言

Docker是基础设施的新成员。很少有新兴技术能像它这样,在DevOps和基础设施领域中快速风靡起来。在不到两年的时间内,Google、亚马逊、微软、IBM以及几乎所有云供应商都宣布支持运行Docker容器。大量与Docker相关的创业公司在2014年和2015年年初都获得了风险资本的投资。Docker开源技术背后的同名公司——Docker公司,在2015年第一季度的D轮融资中估值为10亿美元左右。
大大小小的公司都在转换其应用,使之运行于容器内,以此实现面向服务架构(SOA)和微服务。不论是参加从旧金山到柏林的任何DevOps聚会,还是阅读最热门的公司工程博客,都可以看出全世界的运维领导者们如今都在云上运行Docker。
毫无疑问,容器已经成为应用程序打包和基础设施自动化的重要组成部分。但有一个棘手的问题,促使本书作者和同僚们创作了另一本Docker图书。

0

评论0

请先

没有账号? 忘记密码?