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

虚拟化与容器的关系(虚拟化 容器)


一、docker容器与虚拟机有什么区别?

Docker具有紧凑、迁移部署快、运行高效的特点,但其隔离性比服务器虚拟化差:不同的容器属于不同的运单(不同的应用实例运行在Docker上),相互独立(孤立)。但它们是由同一个仓库管理器(宿主操作系统内核)管理的,所以仓库管理器可以看到所有容器的相关信息(因为操作系统内核是共享的,所以相关信息也会共享)。服务器虚拟化就像建立多个独立的“小码头”——码头(物理主机和虚拟化层)上的仓库(虚拟虚拟机)。它拥有完全独立(隔离)的空间,属于不同的客户(虚拟机所有者)。每个仓库都有自己的仓库管理器(当前虚拟机的操作系统内核),无法管理其他仓库。没有信息共享。因此,我们需要根据不同的应用场景和需求,以不同的方式使用Docker技术或者使用服务器虚拟化技术。例如,一个典型的Docker应用场景是当主机上的Docker实例属于单个用户时,这样可以在保证安全性的同时充分发挥Docker的技术优势。


二、容器和虚拟机的区别容器和虚拟机的区别如下:
容器:在操作系统中程序级别创建,安装在操作系统中,共享同一个操作系统,直接使用内核。操作系统。
虚拟机:在操作系统级别创建,有自己的操作系统和负载,并根据虚拟机管理程序而有所不同。
容器:快速创建/部署应用程序、小型实例、更轻松的镜像创建以及大规模集群。
虚拟机:创建过程比较复杂,需要创建操作系统和应用程序。实例很大,集群规模很小。
容器:持续开发、集成和部署,提供可靠、频繁的容器镜像构建/部署,支持快速、简单的回滚
虚拟机:支持持续开发、集成和部署,但需要实现过程非常复杂,自动化程度较低,支持复杂的快照回滚。
容器:开发和运维分离,在构建或发布阶段创建容器镜像,以分离应用程序和基础设施。
虚拟机:支持多段配置,镜像要求高,流程耦合度高。
容器:开发、测试、生产环境的一致性,本地或外部执行的一致性。
虚拟机:自定义镜像以实现环境一致性。
容器:Ubuntu、RHEL、CoreOS、本地、GoogleContainerEngine上可用的云平台或其他操作系统操作环境。
虚拟机:几乎可以在任何操作系统上运行。
容器:监控水平低,缺乏完整的监控平台。
虚拟机:监控水平较高,很多监控系统也比较完善。
容器:松耦合、分布式、可弹性扩展的微服务基础。应用程序被分解为更小的、独立的组件,可以动态部署和管理。
虚拟机:分布式、可弹性扩展、基于基础设施的大规模应用程序,支持高度复杂的优化、组件独立、动态部署和管理。
容器:目前安全性一般,可以实现软件隔离、资源隔离,资源利用效率更高。
虚拟机:安全性高,硬件隔离、资源隔离,资源利用效率低于容器,性能取决于硬件提供的虚拟化技术。