我应该在什么时候使用Docker,什么时候使用虚拟机?

12 浏览
0 Comments

我应该在什么时候使用Docker,什么时候使用虚拟机?

是否有关于何时使用Docker而不是VM的指导方针?(或反之亦然)

我觉得像NGINX、Apache或Redis这样的服务应该使用Docker,但我不确定在HPC环境中是否应该使用ElasticSearch的Docker。

Docker是否总是比VM更好?

0
0 Comments

首先,Docker是容器的一种实现,而不是第一个也不是最后一个容器。虚拟机(VM)是容器的超集,所以问题不是哪个更好,而是深度的问题-即您需要多少隔离。最简单的层次上,隔离是为了摆脱困扰整个宇宙的.so混乱问题;确定您需要什么,将其放入容器中,就没有兼容性问题了。在这个层面上,容器主要是关于打包;制作打包魔术没有什么问题。只要确保您的简历是最新的。

在更深的层次上,容器可以参与隔离部署。这些工作,但通常需要大量的管理软件:编排软件(k8s),服务混乱(istio :),[A-Z]AAS。在这个领域的某个地方,它们与虚拟机相交,虚拟机在其他层中预先打包了许多概念,尽管使用了不同的管理平台。

在VM领域中,我们可以看到客户端对主机的感知在从类似于容器(即高度依赖性)到无知(即经典虚拟机)的范围内延伸。在这个领域的选择标准主要是信任领域-你越不信任客户端,就越希望将其隔离;或者客户端越不信任主机环境,就越希望将其隔离。

在隔离领域中,容器和虚拟机占据了一个连续的重叠极端。容器是管理打包的最轻量级方式,但随着隔离需求的增加,虚拟机变得越来越有吸引力。在虚拟机的连续体内,信任和性能之间存在权衡。有大量的软件支持每一个停留点;但这些软件尚未统一。

0