Docker|云集技术学社|容器技术和Docker介绍

1月20日,深信服大云售前专家YJ在信服云《云集技术学社》系列直播课上进行了《容器技术和Docker介绍》的分享,详细介绍了容器技术的发展、以Docker为代表的容器技术生态以及容器技术的应用场景。以下是他分享内容摘要,想要了解更多可以关注“深信服科技”公众号观看直播回放。
看点一:容器和Docker发展历史容器技术发展是从上世纪70年代开始,在算力飞速发展的背景下,科学家围绕着如何提高资源利用率进行研究,因此产生了最早的资源隔离技术,如chroot。资源隔离技术持续发展到21世纪初期,Namespace、Cgroup等资源隔离技术加入Linux内核,形成了内核标准的LXC容器技术。
2010年前后,云计算逐步发展,共享经济和互联网的趋势越来越明显,要求企业对客户的需求能够精准把控和快速满足,因此出现了敏捷迭代。在敏捷迭代的场景下,如果每次都需要工程师重复地去规划底层资源的隔离,配额,环境配置等,整体流程就无法实现敏捷。
基于这些背景,一个叫做Solomon Hykes的工程师提出了现代化容器的解决方案,他把这些技术整合到一个开箱即用的软件中,并且加入了诸多如用户友好的管理界面、规模化管理、存储格式等功能,这些能力如今都成为了容器的标准能力。
2014到2017年,Google等头部厂商先后开源围绕容器生态的解决方案,并试图掌握技术主导权,由此分化出CNCF和OCI等不同的技术组织和标准。
2018年后,CNCF主导的容器生态获得巨大成功,驱动了容器技术为基础的新一代PaaS的发展,孵化出了如应用开发运维能力(DevOps),应用架构(微服务),无服务器架构等领域的新方案。
以上就是容器技术大概的发展历史。提起容器技术大家会联想到Docker,其实容器技术并不特指Docker,但Docker在整个容器技术领域有着非常重要的作用,主要表现在三个方面:
一是Docker是容器技术的开创者,Docker在LXC的基础上降低了容器技术使用的复杂度,提出了大规模使用的管理运维方案。开创性提出了镜像文件实现了应用和运行环境的“一次封装到处运行”,进而又推动技术的普及度。
二是Docker是容器技术的推广者,DockerHub镜像仓库构建了基于镜像的开发者社区和生态,让全球开发者都参与到生态建设和分享中来,为容器技术的普及做出了极大贡献,Docker也凭此获得高速发展和领导者地位。
三是Docker是标准的推动者,Docker贡献和领导了容器镜像和运行时的OCI标准制定,加速了容器技术的发展。同时还贡献了containerd,参与了CRI标准制定,推动了容器生态和组织的发展,最终达到工业级应用。
尽管近些年Docker在容器技术主导权的地位争夺中发展不太乐观,但Docker经过十年经营,在市场认知度、学习资源的完善度、客户应用的成熟度等方面仍具有巨大优势,是了解容器发展历史和技术的首推学习对象。
看点二:Docker为代表的容器技术介绍当谈论Docker的时候,并不是谈论单独的产品,而是Docker公司针对容器技术、管理和生态的一整套解决方案。
Docker|云集技术学社|容器技术和Docker介绍
文章插图
Docker由RunC、Containerd、Docker Engine、Docker Compose、Docker Swarm等部分组成:
RunC(low-level)是一个轻量级的工具,用来运行容器,也是标准化的产物,是在围绕容器格式和对运行时制定的一个开放的工业化标准。
Containerd(high-level)是容器虚拟化技术,从Docker中剥离出来,形成开放容器接口(OCI)标准的一部分,起到承上启下的作用,对上接受命令参数的内容,对下调用RunC实际的操作容器服务。