Docker源码分析
上QQ阅读APP看书,第一时间看更新

第2章 Docker Client创建与命令执行

2.1 引言

如今,作为业界领先的轻量级虚拟化容器管理引擎,Docker给全球开发者提供了一种新颖、便捷的软件集成测试与部署之道。团队开发软件时,Docker可以提供可复用的运行环境、灵活的资源配置、便捷的集成测试方法,以及一键式的部署方式。可以说,Docker在简化持续集成、运维部署方面将其功能发挥得淋漓尽致,它让开发者从重复的持续集成、运维部署中完全解放出来,把精力真正地倾注在开发上。

然而,要把Docker的功能发挥到极致,并非一件易事。在深刻理解Docker架构的情况下,熟练掌握Docker Client的使用也非常有必要。前者可以参阅第1章,本章主要针对后者,从源码的角度分析Docker Client,力求帮助开发者更深刻地理解Docker Client的具体实现,最终更好地掌握Docker Client的使用方法。

本章基于Docker 1.2.0的源码,分析Docker Client的内容。主要包括两个部分,分别是DockerClient的创建与Docker Client对命令的执行。两部分分析的具体内容如下。

第一部分分析Docker Client的创建。这部分的分析可分为以下三个步骤:

□ 分析如何通过docker命令,解析出命令行flag参数,以及docker命令中的请求参数。

□ 分析如何处理具体的flag参数信息,并收集Docker Client所需的配置信息。

□ 分析如何创建一个Docker Client。

第二部分在已有Docker Client的基础上,分析如何执行docker命令。这部分的分析又可分为以下两个步骤。

□ 分析如何解析docker命令中的请求参数,获取相应请求的类型。

□ 分析Docker Client如何执行具体的请求命令,最终将请求发送至Docker Server。