当前位置:首页 > 虚拟化 > 正文

docker容器与虚拟化技术


一、Docker容器与虚拟机区别Docker和虚拟机的区别是:虚拟机需要几分钟才能启动,而Docker容器可以在毫秒内启动。由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间和其他系统资源;虚拟机更擅长将整个运行环境完全隔离。
①Docker容器速度非常快,可以在几秒内启动和停止,这比传统虚拟机需要几分钟的时间要快得多。②Docker需要的系统资源很少,一台主机上可以同时运行数千个docker容器。
三:体积小、重量轻:容器只需要容纳所使用的组件即可。与虚拟机相比,容器文件比虚拟机小很多。四:方便的移动性:容器技术最重要的是在不同主机上运行服务的轻量级且一致的格式。
Docker启动速度快,容器中的应用程序直接是底层系统的进程,而不是虚拟机内部的进程。因此,启动容器相当于在本地机器上启动一个进程,而不是启动操作系统,速度要快得多。


二、Docker这样的容器技术与虚拟化技术的区别是什么?Docker是一个开源应用程序容器引擎,允许开发人员将应用程序和依赖项打包到可移植容器中,然后将其发布到也可以对其进行虚拟化的流行Linux系统。容器使用完全沙箱机制,彼此之间没有接口(类似于iPhone应用程序)。它几乎没有性能开销,并且很容易跨机器和数据中心运行。最重要的是,它不依赖于任何语言、框架或系统。
docker网站上提到了Docker的常见场景。
自动化应用程序打包和部署
创建轻量级私有PAAS环境
自动化测试和持续集成/部署
部署以及扩展Web应用程序、数据库和后端服务
由于它是基于LXC的,因此轻量级虚拟化的特点是启动速度快,与KVM相比资源占用率低等。因此,需要为所有应用(尤其是需要快速启动和停止的Web应用)构建隔离和标准化的运行环境、轻量级PaaS(例如dokku)、自动化测试和持续集成环境,并可水平扩展。应对高峰和低谷)。
为了创建标准化的操作环境,现有的大多数解决方案都是在baseOS上运行puppet/chef集或图像文件。缺点是前者需要大量的baseOS先决条件,而后者几乎是不可能的。可以修改(因为rootfs运行时,copyonwrite中的文件类型是只读的)。而且,后一种情况,文件体积较大,环境管理和版本管理本身就成为问题。
PaaS环境从设计之初到dotcloud示例都是不言而喻的。
得益于标准化的构建方法(构建文件)和良好的REST,它被用作PaaS产品的环境基础。与API集成良好,自动化测试,持续集成/部署
LXC的轻量级特性使其能够快速启动,docker仅加载每个容器发生变化的部分,占用资源较少,虚拟化解决方案例如作为KVM,它可以更快并且占用更少的资源。
虚拟化是一个广泛的术语,指的是计算机中通常在虚拟基础上而不是物理基础上运行的计算元素。
虚拟化是指对原始资源的抽象:单个物理资源的多个逻辑表示,或者多个物理资源的单个逻辑表示。在服务器虚拟化的背景下,它是多个物理资源的单一逻辑表示。
虚拟化技术可以扩展硬件的容量并简化重新配置软件的过程。CPU虚拟化技术允许单个CPU并行模拟多个CPU,使得多个操作系统可以在独立的空间中同时运行,而不会相干扰,大大提高了计算机的工作效率。
在实际生产环境中,虚拟化技术主要用于解决高性能物理硬件容量过剩以及低容量旧硬件的重新配置和复用问题,通过使底层物理硬件透明化来最大化生产力。使用物理硬件。