在虚拟机上使用Docker有什么意义?

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

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


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

即使你只打算在一台机器上运行它(例如在EC2虚拟机上),你仍然可能在笔记本电脑或台式机上开发它,所以使用它可能是有意义的。

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


根据基础设施副总裁Eric Brewer的说法,谷歌的所有产品都运行在Linux容器中。

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

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

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

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

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


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

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

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

VMWareIntelHyper ......等公司正在研究构建基于虚拟机的照明快速框架,以实现Docker API,以获取基于容器的工作流和管理程序安全性的速度。

然而,为了保持容器的灵活性优势,每个虚拟机中运行多个容器,而且更关心安全性的组织可以使用虚拟机来分离在不同安全级别运行的容器。 例如,银行业部门,容器处理客户账户和支付信息可以在单独的节点上预定为那些为面向用户的网站预留的节点。

链接地址: http://www.djcxy.com/p/18209.html

上一篇: What's the point of using Docker on top of a virtual machine?

下一篇: systemd and systemctl within Ubuntu Docker images