自从几年前开放源代码起,Docker容器已经在云以及应用开发领域风生水起,在多个Linux实例间提供了开销很低的应用封装、部署方式。这引起了VMware的关注,其在VMworld 2014大会上,宣布与Docker、Google以及Pivotal建立合作伙伴关系,整合容器与虚拟化。但传统的服务器虚拟化已经在企业IT中根深蒂固,几乎没有使用Docker容器技术。Docker值得一试吗?
Docker技术的支持者声称和传统的hypervisor相比,Docker以及其底层的Linux容器技术(LXC)在CPU以及存储上的开销更低,提供了更好的性能以及更棒的整合比。Boden Russell是一名IBM全球服务软件咨询师,他对运行在KVM上的OpenStack以及Docker和LXC进行了基准测试,发现Docker的性能或者比KVM出众很多或者可以与KVM相媲美。测试结果让他认为今后传统的虚拟机将会被边缘化。
Docker的高级副总裁Scott Johnston说,尽管某些企业可能会使用Docker取代现有的虚拟化技术,但更可能出现的情况是企业将会使用Docker来扩大现有的虚拟化规模。例如,企业可能会同时运行Docker和Vmware环境,或者在VMware 虚拟机内部署Docker容器来确保管理的一致性。企业对Docker的敏捷性感兴趣,但真正感兴趣的是压缩数据中心的规模并减少许可费用。像Boden Russell这类测试人员的建议是在单个虚拟机内可以运行10个Linux容器,如果你有10台虚拟机,那么现在就拥有了100个容器。
但Docker以及容器的健壮性是其缺陷,尤其是在异构企业环境中更是如此。Docker开销低以及存储占用空间少源于其并没有为所有被封装的应用提供操作系统副本。然而这使得Docker仅限于支持LXC的Linux实例,换句话说,如果你想使用Docker封装Windows应用,那只能说声抱歉了。
Boden Russell写到,传统的虚拟化还提供了一些引人注目的用例,比如LXC所不支持的实例,以及虚拟机需要使用与该物理主机上其他虚拟机完全不同的内核设置。所以说尽管Docker性能不错、易于使用而且在很大程度上是免费的,但并不适合所有用户。