大规模的容器技术运用从来不是一项独立工程,而是一个汇集虚拟化技术、容器编排、任务调度、操作系统、容器仓库、跨节点网络、分布式存储、动态扩缩、负载均衡、日志监控、故障自恢复等系统性难题的复杂有机体。随着 Docker 的诞生和 Google 等互联网公司的推波助澜,这个领域出现了一大批优秀的开源项目,它们在简化容器技术使用成本的同时,也经常使得刚刚接触容器时间不太长的开发者和企业用户感到不知所措。
将知识分类是梳理零散信息的一种有效方式。对于容器技术的生态圈来说,其中涉及领域众多,有的项目横跨多个细分领域,有的项目则是针对特定场景需求定制的,难以对其功能类型做精确定义。不过,若仅考虑通用领域里的相关产品和工具,大致来说可以划分成 14 种主要类别,包括 ——
- 容器引擎
- 监控和数据收集
- 容器管理和界面工具
- 基础设施集成
- 编排和调度
- 容器镜像仓库
- 服务发现和容器域名服务
- 容器日志收集处理
- 容器相关的系统发行版
- 容器平台
- 容器网络
- 容器安全
- 容器数据持久化
- 容器开发流程工具
云栖社区的这篇文章做了详尽的解读。