谷歌对Docker的公开支持让Docker(《谷歌拥抱开源技术Docker 意图推动云计算[注]革命》)成为本周的热门话题,本文中,我们将向你介绍这种技术是什么,以及它对你企业的作用。
问题1:它是什么?
Docker既是一个开源项目的名称,也是一家专注于Linux容器(Container)的初创公司的名称。容器是指在一台主机上运行多个应用程序,这类似于计算虚拟化,但它不是虚拟化服务器来创建多个操作系统,它提供了更轻量级的替代品,通过虚拟化操作系统,允许多个工作负载在一台主机上运行。
问题2:为什么会有这么多炒作?
Docker公司在本周发布了1.0版产品,为此该公司还召开了名为DockerCon的会议。Docker创始人兼首席技术官Solomon Hykes表示,这个开源Docker项目已经被下载(免费)超过275万次,超过460位贡献者帮助创建了这个版本。Docker已经建立了合作伙伴组来支持其产品,并且,服务提供商都纷纷加入来提供Docker服务。
问题3:容器从何而来?
容器并不是新鲜事物,特别是Linux容器。科技巨头(例如甲骨文、惠普和IBM)几十年来一直在使用容器。然而,在最近几年,该开源项目Docker开始普及,主要是作为虚拟化的替代品或补充品。在意识到围绕该开源项目提供支持的市场机会后,一家名为dotcloud的公司成立了,后来更名为Docker。在1月份,该公司收到了约1500万美元融资,由Greylock合伙人带头,Red Hat公司也做出了主要投资。
问题4:工作原理如何?
该开源项目有两个主要方面:控制组(Contrail Groups),它定义了工作负载需要的计算、内存和磁盘i/o;以及用来隔离和分离每个工作负载的同名组。
商业产品Docker具有两个主要的组成部分:Docker引擎,这是使用户创建和使用容器的核心软件平台;以及Docker Hub,用来创建和共享Docker服务的基于SaaS[注]的服务。通过1.0版本以及Docker Hub的发布,该公司表示,他们有超过14000个应用程序可以与其容器使用。
问题5:容器是虚拟机杀手?
博客主Scott Lowe表示:“在另一方面,通过共享主机内核和操作系统实例的某些部分,容器通常提供较少的隔离,以及更低的开支。”对于只有单个操作系统的环境而言,容器是一个有吸引力的选择,如果需要在环境中运行多个操作系统,虚拟机和管理程序可以非常有用。VM并不会消失,但容器可以提供更好的方式来运行某些应用程序,而不是虚拟化。
问题6:它有什么用途?
容器的主要优点之一是便携性。容器可以在虚拟机上或者裸机服务器运行。它们可以在企业内部或者云计算中运行。这使得容器的最早主要用例之一是围绕软件开发。代码可以编写应用程序,将其放在容器中,然后该应用程序可以跨越不同的环境,因为它已经被封装在容器内。
问题7:需要多少费用?
开源项目Docker提供从GitHub免费下载。而产品Docker收费为每个容器1美元,它提供独立托管的容器。
问题8:还有谁参与?
对于围绕Docker的各种炒作,很多科技公司都希望加入这个市场。Docker也正在构建其合作伙伴关系。商业版本的Docker具有来自该公司的支持,并且整合了很多其他软件平台,包括来自Red Hat、SuSE和Ubuntu的Linux版本,还有其他服务,例如调度工具(Puppet、Chef、Ansible和Jenkins)。
其他服务供应商都正在其平台实现Docker。Rackspace公司首席技术官John Engates在本周写了一篇博客文章称,最初他和其公司对Docker并没有很深刻的印象。但是,在客户开始使用Docker并要求Rackspace支持它后,该公司被“拉”进了这个社区。现在,他们已经非常支持Docker,Engates称容器化为“下一代虚拟化”。
Rackspace公司正在使用Docker来在不同环境测试和部署新的应用程序,他们甚至在网络中使用容器,因为这允许基于软件的负载均衡的多租户形式。然而,最大的影响可能是,容器可能会带来工作负载跨不同环境移动的便捷时代。“Docker可以提供抽象[注]化,实现云计算之间工作负载的移动。这些并不需要是OpenStack云计算。操作系统水平的虚拟化能让应用程序与底层基础设施无关。Docker可以让用户根据其需求找到最合适的解决方案。”