Docker与虚拟机之间的关键差异原来是它

是什么让Docker容器如此受欢迎?在某些情况下甚至比虚拟机更有魅力?

答案就是密度。

为什么这么说?它怎会如此重要?

在计算的背景下,密度指的是单个物理服务器一次可以运行的对象数量。如果服务器可以通过充分利用其资源一次容纳大量应用程序,它则可以支持密集的环境部署。相反,如果服务器只运行少数应用程序,它的总容量未能充分利用,那么它是一个稀疏的环境。

Docker和密度

Docker与虚拟机之间的关键差异原来是它

支持密集软件部署的能力是Docker在许多情况下比部署应用程序的虚拟机更有利的一个关键原因。

关于这点,你必须首先意识到,从根本上讲虚拟机不善于密集,这里有2个主要原因:

虚拟机有更多的开销。他们必须运行一个完整的客户操作系统,即使他们只托管单个应用程序。因此,更多的物理服务器资源必须专用于支持与客户操作系统相关的环境开销,从而减少可用于专用于应用程序的资源。

配置虚拟机时,通常必须为其分配一定量的存储,内存和计算资源。这些资源将永久连接到虚拟机,直到您更改配置。即使虚拟机不使用资源,也不支持主机上的其他虚拟机。

相比之下,Docker容器是创建密集环境的理想选择,在这种环境中,主机服务器的资源被充分利用,但不会被过度使用。这是因为Docker容器不需要通过在容器内创建客户机操作系统来复制主机操作系统的功能。

此外,Docker不会强制您为容器分配给定数量的资源(虽然您可以为单个容器设置资源配额)。这意味着Docker容器能够更高效和动态地使用来自主机的资源。当放置在一个容器或服务上的需求减少时,它所消耗的资源将被释放以供其他服务使用。

它可以帮助Docker容器轻松跨服务器集群进行分布。有助于确保资源被有效地使用以及每个服务器密度的最大化,同时使单个服务器变得过载的风险最小化。

结论

到目前为止,密度已经不是Docker会话的重要组成部分(虽然Canonical喜欢使用该术语来推广其系统容器解决方案,LXD是专为托管完整的操作系统而不是个别应用程序而设计的)。但是这个概念有助于思考为什么Docker已经变得如此受欢迎 - 以及Docker和虚拟机之间的关键区别。

本文转自d1net(转载)

时间: 2024-10-22 01:05:55

Docker与虚拟机之间的关键差异原来是它的相关文章

Docker应用的四个关键设计因素

如今,Docker已成为无处不在的容器技术.人们在设计时要考虑可移植性的应用程序,可以帮助企业充分利用所提供的容器所有的技术优势. 随着Docker应用和容器的日益普及,许多企业都在云操作系统和应用程序寻求采用容器技术.由于容器提供的可扩展性.可移植性和效率,企业选择在VMS系统运行.不同于虚拟机,多个容器可以在主机操作系统的同一内核上运行,从而减少开销,并提供更好的性能. Docker为了容器内的应用提供了一个平台之间移植的环境.Docker是一个受欢迎的选择,因为它简化了应用程序的部署和管理

Docker学习总结之Docker与Vagrant之间的特点比较

Docker学习总结之Docker与Vagrant之间的特点比较 以下内容均出自Vagrant作者(Mitchell Hashimoto)与Docker作者(Solomon Hykes)在stackoverflow上面一个问题讨论.在这个问题中,双方阐述了vagrant和docker的特点和使用范围,对于深入理解vagrant和docker很有意义,因此笔者翻译出来,以供大家讨论学习. Mitchell作为vagrant的作者,其在DevOps的世界里面沉浸多年,接触了很多类似docker的虚拟

Azure中如何建立虚拟机之间的内网连接

在阿里云上,同一个帐户创建的所有虚拟机(云服务器)之间的内网是直接连通的.而Azure则完全不一样,一开始使用时有点不知所措,后来摸索出来了--在Azure中只有处于同一个虚拟网络(Virtual Network)的同一个子网(subnet)中的虚拟机才能直接通过内网通信,通过这篇博文分享一下. 开始使用Azure时,如果你直奔主题直接创建虚拟机(Virtual Machine),虽然虚拟机有内网IP(INTERNAL IP ADDRESS),但它们之间是隔离的,无法直接进行内网通信. 要想实现

创建Windows 2016 TP5 Docker本地虚拟机

本文讲的是创建Windows 2016 TP5 Docker本地虚拟机,[编者的话]继Windows 2016 TP5上的Docker初次体验之后,作者接着写了这篇创建本地虚拟机的文章,给出了Packer和Vagrant的用法,并详细说明了Packer的功能. 越来越多的人开始试用Windows Docker容器,这太棒了.无论是想了解Windows上所运行的Docker引擎的当前状态,还是想亲身体验一下Windows容器来,最新的Windows Server 2016 Technical Pr

vmware-物理机不连网,请问怎么在vm ware内实现各台虚拟机之间的互连?

问题描述 物理机不连网,请问怎么在vm ware内实现各台虚拟机之间的互连? 本人平时基本用的都是校园网,物理机需要使用指定的客户端连接了,才能上网.但是即使vmware 内用了桥接模式,也是物理机能上网,虚拟机上不了网.所以想大家请教一下物理机不连网但是 vmware内各台虚拟机能相互连通的办法,或者在校园网下虚拟机也能上网的办法. 解决方案 每个虚拟机单独使用一个虚拟网卡,这些虚拟机ip设在一个网段. 解决方案二: 桥接估计不行,桥接类似于一台真实的物理机连接到你的校园网中,向你说的需要客户

两台虚拟机(centos)能ping通对方的主机(win7),但是两台虚拟机之间不能ping通

问题描述 两台win7电脑都装有vmwave和centos,想搭建简单的hadoop集群开发环境研究用,设置的是静态ip,两台虚拟机(centos)能ping通对方的主机(win7),但是两台虚拟机之间不能ping通,怎么解决? 解决方案 解决方案二:你是NAT模式吧桥接能Ping通解决方案三:关闭防火墙虚拟机的解决方案四:虚拟机网络连接采用桥接模式.解决方案五:桥接模式:相当于虚拟机和主机都接在交换机上你要看看你是不是桥接模式

Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)_VirtualBox

最近学习Virtualbox的一些知识,记录下,Virtualbox下如何实现主机和虚拟机之间文件夹共享及双向拷贝 关于双向拷贝 1.设置虚拟机为"双向"共享粘贴 有的人反应只要设置双向粘贴就可以,但是我的不行,我还需要再给虚拟机安装一下增强功能.需要启动虚拟机,安装菜单项"设备"中的最后一项. 安装完增强功能,注意要重启虚拟机,双向拷贝才被启用. 关于文件夹共享 情况一: Host操作系统:Windows 7 Guest操作系统:Windows Server 1.

云平台中虚拟机部署的关键问题研究

云平台中虚拟机部署的关键问题研究 吉林大学  董玉双 本文分析了当前流行的虚拟机部署策略及其相关改进方法并分析了当前云计算的研究人员针对虚拟机部署机制的研究工作.在此基础上,本文研究了虚拟机镜像的定制方法,设计了以性能能耗比作为评价标准的虚拟机部署的位置选择策略以及研究了虚拟机部署机制的关键问题.本文主要贡献有:(1)通过LFS (Linux From Scratch)定制虚拟机镜像.为用户提供定制接口,云提供商可以动态的更新为用户提供的服务和应用,云平台根据用户的需求生成相应的需求配置文件,并

码农和程序员之间的5个关键差异(转)

  英文原文:5 key differences between hiring a coder and a developer 如果一个企业老板大声嚷嚷说,"我要招个程序员",那么十之八九指的是"码农"--一种纯粹为了钱而写代码的技术人员.这其实是一种非常狭隘和错误的做法,原因么,且听我一一道来. 1. 码农写的是代码,程序员写的是系统 从本质上讲,码农就是你让他写什么他就写什么的"机器人才".所谓的码农大多通晓几门编程语言,但是却于商业上面并不