功能,喜欢旧功能的改善。但对于生产环境中的使用者来说,其实不太喜欢这种频繁的变化!不管怎样,我们都有必要理清 docker 生态系统中的众多概念及它们之间的关系,以及 docker 自诞生至今(2018 年)的里程碑性事件。
名称肯能有的你都没有听说过,但它们的确都是容器技术的应用:
用法。它在 1979 年的时候就出现了,被认为是最早的容器化技术之一。它可以把一个进程的文件系统隔离起来。
添加到 Linux 内核的系统级别的虚拟化功能实现的专用虚拟服务器。
快速的发展,下图展示了当前 docker 平台中的组成部分(此图来自互联网):
功能,如 cgroups,namespaces,netlink 和 netfilter 等,如下图所示(此图来自互联网):
功能移出 docker 的核心引擎并移入一个单独的守护进程(即 containerd)。
- 调用 containerd-shim
- 退出
升级 docker 引擎时不会中断容器的运行。
支持众多平台的原因(Docker for Mac,Docker for Windows,Docker for AWS,GCP 等)。
支持的本地 hypervisor 有 hyper-v 和 vmware。支持的云平台有 AWS、Azure 等。
自动化基础架构的设置和管理,以支持分布式系统和更高级别的容器编排系统。Infrakit 对于像 Docker Swarm 和 Kubernetes 这样的编排工具或跨越 AWS 等公共云创建自动缩放群集的用例很有用。
支持与 kubernetes 的集成。这可是 2017 年容器界的一大新闻啊!至此,docker 用户和开发人员可以自由地选择使用 kubernetes 或是 swarm 执行容器的编排工作。我们可以认为 docker 与 kubernetes 联姻了(此图来自互联网):
支持 kubernetes 集成的 docker 版本将允许用户把他们的 docker compose 应用程序部署为 kubernetes 本地 pod 和服务。Kubernetes 是一款非常强大且逐渐被大众认可的本地编排工具(此图来自互联网):
名称和概念搞糊涂,让我们以下图来结束本文,它展示了从 2013 年到 2017 年从 docker hub 拉取镜像次数的趋势: