2014-06-09 18 views
10

Docker新手Docker被描述为虚拟机的替代品。我现在读了一些,这很有道理。我不完全明白的是为什么你会在虚拟机上使用Docker,例如。这正是AWS现在提供的beanstalk的功能。在虚拟机的顶部使用Docker有什么意义?

难道这只是因为大多数托管都是基于虚拟机的,并且Docker为您提供了灵活性,即使它并未取代虚拟机,它仍然(可能取决于用例)值得使用吗?

+0

你可能会觉得这篇文章很有用 - http://stackoverflow.com/questions/16047306/how-is-docker-io-different-from-a-normal-virtual-machine –

+0

已经读过,谢谢;) – nashape

回答

6

我们使用的用例是,您可以在真实盒子,虚拟机,不同操作系统等上使用同一个泊坞窗镜像,并拥有相同的受控环境。

即使您只打算在某种类型的机器上运行(例如在EC2虚拟机上),您仍然可能在笔记本电脑或台式机上开发它,因此使用它可能有意义。

最重要的是,Docker开销非常小(至少这是个想法),所以即使在虚拟硬件上运行时也不会影响性能。这与“真正的”虚拟机(没有双关语,但听起来不错:))相反,这会在类似的情况下带来很大的开销。

+0

如此灵活。很酷,最好花更多时间在Docker上,谢谢。 ;) – nashape

3

根据Infrastructure VP Eric Brewer,Google的所有内容都运行在Linux容器中。

但是Google的所有内容都不在虚拟机中运行。

是的,KVM用于需要不同的操作系统,公共计算平台服务(现在)在VM内部运行Docker,可能是为了更强大的隔离和控制。否则,Google的大部分容器都是裸机。为什么添加额外开销?

如果你知道不同,请纠正我。

在今天的企业中,虚拟机与容器的比例可能是99比1,直到30/70或20/80才能达到?

虽然Kubernetes和其他容器编排工具可能永远达不到vSphere的光泽和易用性,但我现在不希望成为虚拟化供应商。

2

任何第一次碰到容器世界的人,奇迹在虚拟机的顶部使用Docker有什么意义? ..我不例外。

虽然这可以很简单地回答,但正如大家所指出的,容器只是运行在虚拟机内部,正如大多数云提供商上发生的情况一样,以确保应用程序的隔离。但众所周知的事实是,迁移到容器并不能简单地提供虚拟机的安全性。 这就是容器在虚拟机之上运行的原因,以利用管理程序提供的已建立和验证的安全性

是的,Linux上改进的容器安全性和隔离性使得人们可以使用裸机容器服务,而无需使用虚拟机进行隔离。这种情况的好例子是IBM的Bluemix云服务。 Bluemix已在公共Bluemix云服务上构建了一个托管容器服务,该服务在应用程序之间运行时没有VM隔离。

的公司,如VMWare的英特尔 ..正在研究在试图获得基于容器的工作流程的速度建设照明快速实现泊坞窗API基于VM的框架和管理程序安全性。但是,为了保持容器的灵活性优势,多容器在每个虚拟机中运行,而且更关心安全性的组织也可以使用虚拟机来分离运行在不同安全级别的容器。例如,银行业部门,容器处理客户账户和支付信息可以在单独的节点上预定为那些为面向用户的网站预留的节点。

相关问题