docker与虚拟机有何不同

weihanli weihanli     2022-12-24     703

关键词:

docker与虚拟机有何不同

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

技术分享图片

容器技术有很多种,Docker是目前最流行的一种,网易云也在使用Docker。服务器虚拟化解决的核心问题是资源调配,而容器解决的核心问题是应用开发、测试和部署。虚拟机技术通过Hypervisor层抽象底层基础设施资源,提供相互隔离的虚拟机,通过统一配置、统一管理,计算资源的可运维性,以及资源利用率都能够得到有效的提升。同时,虚拟机提供客户机操作系统,客户机变化不会影响宿主机,能够提供可控的测试环境,更能够屏蔽底层硬件甚至基础软件的差异性,让应用做到的广泛兼容。然而,再牛逼的虚拟化技术,都不可避免地出现计算、IO、网络性能损失,毕竟多了一层软件,毕竟要运行一个完整的客户机操作系统。容器技术严格来说并不是虚拟化,没有客户机操作系统,是共享内核的。容器可以视为软件供应链的集装箱,能够把应用需要的运行环境、缓存环境、数据库环境等等封装起来,以最简洁的方式支持应用运行,轻装上阵,当然是性能更佳。Docker镜像特性则让这种方式简单易行。当然,因为共享内核,容器隔离性也没有虚拟机那么好。但是,更重要的是,通过Docker的特性,以容器化封装为基础,企业就可以很好地实现云原生(向云而生的架构),包括大家听得耳朵都起茧子的微服务架构、DevOps,让开发团队可以从苦逼的运维工作中解脱,让应用快速上线、快速迭代。微服务架构下,将系统拆分成多个服务,每个部分都可以独立开发测试部署,同时我们也可以只扩展需要扩展的部分,也就是变一个三头六臂的哪吒,而不是总要变三个孙悟空。微服务如何设计,基于容器的规模部署、高可用如何实现等,是另外的问题了。

一般来说,虚拟机都会有自己的kernel,自己的硬件,这样虚拟机启动的时候需要先做开机自检,启动kernel,启动用户进程等一系列行为,虽然现在电脑运行速度挺快,但是这一系列检查做下来,也要几十秒,也就是虚拟机需要几十秒来启动。

重新来理解虚拟机的概念,计算机科学家发现其实我们创建虚拟机也不一定需要模拟硬件的输入和输出,假如宿主机和虚拟机他们的kernel是一致的,就不用做硬件输入输出的搬运工了,只需要做kernel输入输出的搬运工即可,为了有别于硬件层面的虚拟机,这种虚拟机被命名为 操作系统层虚拟化:Operating-system-level virtualization 也被叫做容器

让我们来回顾虚拟机的概念,在虚拟机的系统中,虚拟机认为自己有独立的文件系统,进程系统,内存系统,等等一系列,所以为了让容器接近虚拟机,也需要有独立的文件系统,进程系统,内存系统,等等一系列,为了达成这一目的,主机系统采用的办法是:只要隔离容器不让它看到主机的文件系统,进程系统,内存系统,等等一系列,那么容器系统就是一个接近虚拟机的玩意了

Reference

Contact

Contact me:[email protected]

虚拟机与docker有何不同

http://www.techug.com/post/comparing-virtual-machines-vs-docker-containers.html 译者按: 各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢?原... 查看详情

虚拟机与docker有何不同?

原文:ComparingVirtualMachinesvsDockerContainers译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。首先,大家需要明确一点,Docker容器不是虚拟机。2014年,当我第一次接触Docker的时候... 查看详情

“lxd”与 lxc/docker 有何不同?

】“lxd”与lxc/docker有何不同?【英文标题】:Howis"lxd"differentfromlxc/docker?【发布时间】:2015-08-0611:21:30【问题描述】:问题lxd如何在容器中提供完整的操作系统功能,而不仅仅是单个进程?它与lxc/docker+wrappers有何不同?... 查看详情

docker容器与虚拟机有啥区别?

参考技术A我们单位最近在推docker,已经在开发测试环境使用(稍显落后),下面我就谈谈自己的Docker的理解,以及Docker和虚拟机的区别。虚拟机先说说什么是虚拟机:在一台物理机器上,利用虚拟化技术,虚拟出来多个操作系... 查看详情

docker和传统虚拟机有啥区别?

参考技术A  Docker是一种轻量级的虚拟化技术,比传统的虚拟机性能更好,但也有人认为虚拟机比Docker更好,那么Docker和虚拟机哪个好?相信不少人对此有所疑问,具体内容请看下文:  Docker和虚拟机有各自擅长的领域,在软... 查看详情

docker跟一般的虚拟机有啥区别

Docker和虚拟机有各自擅长的领域,在软件开发、测试场景和生产运维场景中各有优劣势:1、Docker启动快速属于秒级别,虚拟机通常需要几分钟去启动;2、Docker需要的资源更少,Docker在操作系统级别进行虚拟化,Docker容器和内核交... 查看详情

docker跟一般的虚拟机有什么区别

这是StackOverflow上的一个问题及其回答的翻译(原文:Docker.io跟一般的虚拟机有什么区别?)。原文主要回答了三个问题:1.Docker.io的基本原理是什么?2.为什么在docker中部署软件很方便?3.docker是如何保存系统镜像的?前两个问... 查看详情

docker与传统虚拟机

Docker与传统虚拟机文章参考:https://www.jianshu.com/p/50f48eb25215各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢?首先,大家需要明确... 查看详情

java--docker面试题(代码片段)

...三种类型的虚拟化:仿真半虚拟化基于容器的虚拟化4、Docker与虚拟机有何不同?Docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级虚拟化的其他工具。为此,Docker最初使用LXC 查看详情

kvm与xen虚拟化环境究竟有何不同

虚拟化的概念在近些年收到了很大程度上的普及,求其原因很简单:虚拟化能够最大程度利用资源,为企业节约成本。目前市面较受欢迎的虚拟架构主要有KVM、XEN和VMware,其中,KVM和XEN都是免费开源的,而VMware则是付费的.如果... 查看详情

docker和虚拟机有什什么区别?

...要的二进制和库,以及一个完整的用户操作系统。2、Docker:容器技术是和我们的宿主机共享硬件资源及操作系统可以实现资源的动态 查看详情

Bitnami 和 Docker

】Bitnami和Docker【英文标题】:BitnamiandDocker【发布时间】:2017-05-1423:40:14【问题描述】:在基于容器的部署方面,有何不同。我最近一直在学习微服务。我使用Docker镜像将我的应用程序作为容器运行。而且,我注意到Bitnami在通过... 查看详情

Packer 和 Docker 有何不同?配置图像时我应该更喜欢哪一个?

】Packer和Docker有何不同?配置图像时我应该更喜欢哪一个?【英文标题】:HowarePackerandDockerdifferent?WhichoneshouldIpreferwhenprovisioningimages?【发布时间】:2018-04-2012:41:48【问题描述】:Packer和Docker有何不同?哪一个更容易/最快地提供/... 查看详情

虚拟机和docker的异同

【摘要】各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢?首先,大家需要明确一点,Docker容器不是虚拟机。当我第一次接触Docke... 查看详情

堆、堆栈、文本等不同的段与物理内存有何关系?

...,例如bss、数据、文本和其他段。我知道ELF的这些部分是虚拟内存地址空间的一部分。我对吗?如果我错了,请纠正 查看详情

docker常见面试题(个人整理)

一、通用问题1、Docker和虚拟机有啥不同?答:Docker是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。2、Docker安全么?答:Docker利用了Linux内核中很多安全特性来保证不同容器之间的隔离,并且通过签名机... 查看详情

docker系列:第一讲.docker简介与安装(代码片段)

什么是Docker?Docker的英文翻译是“搬运工”的意思,他搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App,我们的开发人员可以通过Docker将App变成一种标准化的、可移植的、自管理的组件,我们可以在任... 查看详情

容器云是什么意思?与堡垒机有什么区别?

...机主要包含系统运维和安全审计两大功能。而容器是一种虚拟化技术,和传统虚拟机的硬件虚拟不同,容器主要是对操作系统的虚拟;容器将应用软件与其依赖组件打包成一个可用镜像&#x 查看详情