首页 > 虚拟机

docker容器和虚拟机

Docker这样的容器技术与虚拟化技术的区别是什么?Docker是一个开源应用程序容器引擎,允许开发人员将其应用程序和依赖项打包到可移植容器中,然后将其发布到任何流行的Linux机器上,这些机器也可以虚拟化。 容器完全使用沙箱机制,它们之间不会有任何接口(类似于iPhone应用程序)。 几乎没有性能开销,可以轻松地在机器和数据中心上运行。 最重要的是,它们不依赖于任何语言、框架或系统。
Docker网站上提到了典型的Docker场景:
自动化应用程序打包和部署
创建轻量级私有PAAS环境
自动化测试和持续集成/部署
部署和部署Web应用程序、数据库和后端服务的扩展
因为它是基于LXC的轻量级虚拟化特性相比KVM等,Docker最明显的特点是启动快、资源占用低。 因此,需要创建一个隔离的、标准化的运行环境,轻量级的PaaS(如dokku),创建自动化测试和持续集成环境,以及所有可以水平扩展的应用程序(尤其是需要快速启动和停止才能运行的Web应用程序))。 应对起伏)。
为了构建标准化的操作环境,大多数现有解决方案都涉及在基础操作系统上运行傀儡/领导者集或图像文件。 缺点是前者需要很多baseOS先决条件,而后者则很难做到。 更改(因为rootfs运行时copyonwrite的文件格式是只读的)。 另外,后者文件体积较大,环境管理和版本控制本身也存在问题。
PaaS环境是不言而喻的。 从设计之初,以dotcloud为例,由于其标准化的构建方法(buildfile)和良好的REST,它一直被用作PaaS产品的环境基础。 API、自动测试可以与持续集成/部署很好的结合
由于LXC轻量级的特点,启动快,Docker只能加载各个容器修改的部分,所以需要的资源很少,可以使用在独立环境中。 KVM等虚拟化解决方案速度更快,消耗的资源更少。
虚拟化是计算机中的一个通用术语,通常指在虚拟而非真实基础上运行的计算元素。
虚拟化最初指的是资源的抽象,即单个物理资源的多个逻辑表示,或者多个物理资源的单个逻辑表示。 具体到服务器虚拟化,它是多个物理资源的单一逻辑表示。
虚拟化技术可以增加硬件容量并简化软件重新配置过程。 CPU虚拟化技术可以用单个处理器并行模拟多个处理器,允许一个平台同时运行多个操作系统,应用程序可以在独立的空间运行而不会互相影响,从而大大提高IT工作的效率。 。
在当今的生产环境中,虚拟化技术主要用于解决高性能物理硬件的容量过剩问题以及旧的、低容量的硬件的重组和复用,并使底层物理硬件变得透明,从而最大限度地提高性能。 使用物理硬件。

docker和虚拟机的区别知乎Docker
Docker是一个集成开发、打包和运行应用程序的开放平台。 Docker可用于快速交付应用程序。 使用Docker,您可以将应用程序与基础设施解耦,并将基础设施用作管理平台。 Docker可以加快打包时间、加快测试速度、加快发布速度、缩短开发和运行代码之间的周期。 Docker通过构建一个包含表单、服务和工具的核心来帮助管理和发布应用程序,从而实现这一切。 虚拟机
虚拟机本质上模拟真实的计算机并遵循相同的程序执行方法。 虚拟机可以使用虚拟机管理程序在物理机上运行。 现在,虚拟机管理程序可以在主机设备或裸机上运行。
设置虚拟机需要许多模拟为硬件的设备。 每个虚拟机都包含应用程序、必要的二进制文件和库以及完整的用户操作系统。
Docker和虚拟机有什么区别?
虚拟机
1占用大量资源,虚拟机占用一定的内存和硬盘空间。 当它运行时,其他程序无法使用这些资源。 即使应用程序实际上仅使用虚拟机中的1MB内存,但虚拟机仍然需要数百MB内存才能运行。
2.有很多多余的步骤。 机器是一个完整的操作系统,有些系统步骤是不能跳过的,比如用户登录。
3.
Docker
1.所以启动容器就相当于启动了本机的进程,而不是从纯粹的操作系统启动,速度要快很多。
2.少支援职业。 容器只占用所需的资源,不保存那些未使用的资源。 虚拟机都是资源独占的。
3.

返回顶部