
相关知识
1.1.1 Docker的发展历程
信息技术的飞速发展,促使人类进入云计算时代,云计算时代下孕育出众多的云计算平台。但众多的云平台之间标准规范不统一,每个云平台都有各自独立的资源管理策略、网络映射策略和内部依赖关系,导致各个平台无法做到相互兼容、相互连接。同时,应用的规模愈发庞大、逻辑愈发复杂,任何一款产品都无法顺利地从一个云平台迁移到另外一个云平台。
但Docker的出现,打破了这种局面。Docker利用容器技术弥合了各个云平台之间的差异,Docker通过容器来打包应用、解耦应用和运行平台。在进行迁移的时候,只需要在新的服务器上启动所需的容器即可,而所付出的成本是极低的。
Docker最初是由dotCloud公司的创始人Solomon Hykes所带领的团队发起的,其主要项目代码在GitHub上进行维护。早期的Docker代码实现是直接基于LXC的,自0.9版本起,Docker开发了Libcontainer项目。Libcontainer作为更广泛的容器驱动实现,替换了LXC的实现。2013年3月,Docker开源版本正式发布;2013年11月,RedHat 6.5正式版集成了对Docker的支持;2014年4月—6月,Amazon、Google和Microsoft的云计算服务相继宣布支持Docker;2014年6月,随着DockerCon 2014大会的召开,Docker 1.0正式发布;2015年6月,Linux基金会在DockerCon 2015大会上与AWS、思科、Docker等公司共同宣布成立开放容器项目(Open Container Project,OCP),旨在实现容器标准化,该组织后更名为开放容器标准(Open Container Initiative,OCI);2015年,浙江大学SEL实验室携手Google、Docker、华为等公司,成立了云原生计算基金会(Cloud Native Computing Foundation,CNCF),共同推进面向云原生应用窗口云平台,并从Docker 1.1开始,进一步演进为使用RunC和Containerd。