《Docker生产环境实践指南》围绕“Docker该如何应用到生产环境”这一核心问题展开,以生产部署为背景,详细讲述了Docker在真实环境中的使用。本书为读者提供了宝贵的参考,能够帮助他们在实际工作中更好地应用Docker技术。通过实例和案例的讲解,读者可以将书中的知识运用到自己的IT架构中,从而实现技术的提升。本书内容深入浅出,实用性强,让读者能够快速了解并掌握Docker的各种应用技巧。无论是初学者还是有一定经验的技术人员,都能从本书中获得很大的收获,让自身的技术水平迈上一个新的高度。
Docker生产环境实践指南电子书封面
读者评价
不错的一本docker实战的书,技术原理和经验都讲得不错。
适合初学者,有几章原理讲解还行,不过现在看已经过时了
作为一本docker在生产环境中的实例操作书,非常不错
docker生成环境指南,确实很好,正缺这块知识
内容介绍
本书围绕“Docker该如何应用到生产环境”这一核心问题展开。在本书中,读者将接触到多个IT企业应用Docker到生产环境的成功案例,了解Docker实际投产时将会面临的问题,以及它与现有基础设施存在的矛盾与冲突,了解构建Docker生态系统所需的配套设施,包括安全、构建镜像、持续集成/持续交付、镜像存储、配置管理、网络实现、服务发现、持久化存储以及日志监控等模块具体选型方案及利弊所在。本书编写时一些案例参考的Docker版本是Docker 1.6版本或Docker 1.7。
本书要求读者具备一定的容器管理和运维的基础知识,适合在生产环境中使用Docker的相关技术人员阅读,尤其适合具有中高级DevOps和运维背景的读者阅读。
目录
- 第1章 入门 1
- 第2章 技术栈 7
- 第3章 示例:极简环境 11
- 第4章 示例:Web环境 23
- 第5章 示例:Beanstalk环境 33
- 第6章 安全 37
- 第7章 构建镜像 49
- 第8章 存储Docker镜像 69
- 第9章 CI/CD 77
- 第10章 配置管理 83
- 第11章 Docker存储引擎 93
- 第12章 Docker网络实现 115
- 第13章 调度 145
- 第14章 服务发现 153
- 第15章 日志和监控 179
1、快速分发应用 Docker可以帮助你把控开发各个周期。Docker允许你在本地的开发环境中进行代码开发,然后将开发好的应用整合到团队的开发流程中。 比如:你可以再本地编写代码,当编写完成后。你将代码开发堆栈信息共享给团队成员。当他们也编写完成后,同样共享开发堆栈信息。然后再测试环境中,使用团队共享的开发堆栈就可以进行所需要的测试了。当完成测试后,团队就可以将测试通过的docker镜像(images)发布到产品环境中。 2、方便部署和易于管理 Docker基于容器的机制可以很容易进行部署。Docker容器可以在本地主机上面执行,也可以在虚拟机中执行,不论这些虚拟机是在本地或者云中。 Docker快速部署和轻量级的特性也使得管理负载变得很容易。你可以快速启动或者销毁容器。这种时间几乎是实时的。 3、可以执行大量的工作负载 因为Docker具有便于部署和快速启停的方式,同时docker也提供了可行的,符合效益-成本的虚拟机管理机制。使得docker很适合负载要求高的环境。比如:将你的云平台作为PAAS用途时,或者你要求你的环境具有高资源使用率时。 Docker主要有两个组件: Docker:开源的容器虚拟化平台 Docker Hub:一个Software-as-a-Service平台,用来共享和管理docker容器。 What is Docker's architecture? Docker采取的C-S结构。Docker client同Docker daemon通讯,Docker daemon负责维护docker 容器的构建,运行和分发。 Client和Daemon可以再同一台主机上面执行,也可以分开执行。本地的client可以连接远程的daemon。Client可以通过socker或者REST API同daemon通讯。
Docker 是一个开源的平台,设计目标是可以方便开发,方便部署和方便执行应用。使用docker可以快速分发开发好的应用。借助于Docker,你可以将开发平台和应用分离开,并且像管理应用一样管理开发平台。Docker可以帮助你快速开发应用,快速测试应用,快速部署应用,并且缩短开发代码和执行代码之间的周期间隔。 Docker 是凭借一个轻量级容器的虚拟化平台工作流和相关工具来达到上述功能的,并且使用这个轻量化容器来帮助你管理和部署应用。 在Docker核心层,它提供了一种方式来让各种应用运行在各个隔离的容器中。这种方式允许docker同一时间在同一台主机上面运行若干个容器。这种轻量级的容器运行方式,几乎没有额外的运行开销。这意味着你可以充分使用主句的硬件能力。 使用Docker提供的工具和虚拟化平台,你可以完成以下事情: 1、将你的应用或者组件部署到容器中。 2、将你的容器分发给你的团队进行下一步的开发或者测试 3、将你开发的应用部署到发布环境中,无论这些环境是本地模式或者云模式