docker和虚拟机的区别 知乎
发布网友
发布时间:2022-03-26 10:01
我来回答
共2个回答
热心网友
时间:2022-03-26 11:30
Docker
Docker是一个集开发、打包、运行应用于一体的开放式平台。Docker可以用来快速交付应用。使用Docker,你可以将应用程序从你的基础设施中分离出来,并将基础设施当做一个管理平台。Docker可以加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期。Docker通过结合内核容器化特点和工作流,并使之工具化来实现这一切,帮助管理和发布你的应用。
虚拟机
虚拟机在本质上就是在模拟一台真实的计算机设备,同时遵循同样的程序执行方式。虚拟机能够利用虚拟机管理程序运行在物理设备之上。反过来,虚拟机管理程序则可运行在主机设备或者裸机之上。
传统的虚拟机需要模拟数台机器包括硬件,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给他的资源将全部被占用。每一个虚拟机包含应用,必要的二进制和库,以及一个完整的用户操作系统。
Docker和虚拟机有什么区别?
虚拟机
1、资源占用多,虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源,哪怕虚拟机里面的应用程序,真正使用的内存只有1MB,虚拟机依然需要几百MB的内存才能运行。
2、冗余步骤多,虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登录。
3、启动慢,启动操作系统需要多久,启动虚拟机就需要多久,可能需要等几分钟,应用程序才能真正运行。
Docker
1、启动快,容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。
2、资源占用少,容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源;另外,多个容器可以共享资源,虚拟机都是独享资源。
3、体积小,容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包,所以容器文件比虚拟机文件要小很多。
热心网友
时间:2022-03-26 12:48
虚拟机受限于操作系统的启动时间,无法做到秒级启动。
技术分享|关于容器最通俗的解释,人人都能三分钟搞懂
相比虚拟机,Docker容器技术不需要虚拟整个操作系统,只需要虚拟一个小规模的环境。这使得它启动速度快,资源利用率高,占用空间小。Docker提供了“Build, Ship and Run”的口号,即“搭建、发送、运行”,简化了应用部署流程。Docker的核心概念包括镜像、容器和仓库。镜像是一个特殊的文件系统,包含了容器...
KVM切换器可以找哪家?
KVM切换器可以找深圳市睿讯世纪科技有限公司,价格公道,是您放心的选择!+C31:C60深圳市睿讯世纪科技有限公司是集研发、生产、销售和售后服务于一体的综合型电子科技企业。公司拥有多年行业经验,大多数城市都设有分公司,公司配有专业的技术团...
微服务为什么一定要用Docker?
现在:用上了docker容器后,将Docker可以将我们的应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源。容器之间达到进程级别的隔离,在容器中的操作,不会影响道宿主机和其他容器,这样就不会出现应用之间相互影响的情形!
Docker 有什么优势
首先,docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快很多;其次,docker对系统资源的利用率很高,一台主机上可以同时运行数千个docker容器。容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要起10个虚拟机,...
golang前景怎么样?
docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。 packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者 skynet:分布式调度框架 Doozer:分布式同步工具,类似ZooKeeper Heka:mazila开源的日志处理系统 cbfs:couchbase开源的分布式文件系统 tsuru:开源的PAAS平台,和SAE实现的功能一模一样 ...
golang相对于java的优势(golang与java性能对比)
并发实习简单快速,网络时代的C,有underincontrol的感觉,不适合构建超大型分层结构复杂的项目,一般最多十万以内就算大项目了,学习成本很低,库不够丰富和稳定,面向源码编程,有问题看代码,没有那么多framework,更多的面向library,你能够很快速的了解第三方项目,而不用在语言上做太多投入,虚拟机从1....
自学Java 怎么入门?
该板块包括容器化技术Docker和其平台管理引擎Kubernetes,其中,Docker 是一个开源的应用容器引擎,可以打包应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。而Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单...
WIN NAS 的安装及使用(配置清单)
本想用freenas或者是黑群晖这些基于linux的来搭建,但是大部分nas系统没有虚拟机,黑裙有点不稳定,白裙那配置和价格,算了算了。用pve或者exsi又太重了,我的需求仅仅是下BT/PT和存储一些项目文件,docker跑些应用内网穿透出去就可,而且虚拟化平台连接WiFi是个问题。选来选去,看着b站知乎一堆推荐如...
简单的PHP 8 / PyPy / Node.js JIT性能对比
以下是我在虚拟机上进行的测试结果,虚拟机的CPU型号为E5-2667 v3 @ 3.20GHz,比i5略强,因此速度也会比上一个作者测试的结果快一些。所有测试使用的binary都是官方docker镜像。以下是 注意:Python有两个版本的脚本,差别很小,因为Python没有常量定义语法,所以第一个版本是用类属性代替常量的,第...
群晖/极空间Docker各应用搭建教程汇总目录
群晖/极空间Docker应用搭建教程导航知乎教程系列(按发布日期排序):坚叔:群晖/极空间挂载阿里云盘至Infuse(messense镜像)坚叔:Windows本地挂载群晖/极空间Webdav映射坚叔:阿里云盘到Mac本地挂载(messense镜像)坚叔:Webdav协议访问文件(SK穿透示例)坚叔Evan:Chrome浏览器安装与内网穿透坚叔:Firefox安装及...
免费的ddns带飞黑裙(ipv6 Callback dynv6)
前提条件:群晖或其他nas设备已接入公网ipv6地址,了解docker基本操作。背景:面对电信提供的动态NAT服务,获取公网ipv6地址。群晖虚拟机同样能获取到ipv6地址。公网ipv6查询网址:test-ipv6.com、v6.ident.me、myip6.ipip.net、speed.neu6.edu.cn/getIP...DDNS服务商:dynv6.com提供免费服务,注册...