当前位置:首页 > 容器技术 > 正文

容器技术的优点


一、容器与虚拟机的区别1.容器技术介绍
对于容器来说,它首先是一个相对独立的运行环境,在这方面它有点类似于虚拟机,但又不像虚拟机那么完整。在容器内部,它对外界的影响必须最小化。例如,主机上的所有资源都不能在容器内使用。
2容器和虚拟机的区别
容器和虚拟机的主要区别在于虚拟化层的位置和操作系统资源的使用方式。
1
1
容器和虚拟机具有相似的使命:隔离应用程序及其依赖项,以构建可以在任何地方运行的独立单元。此外,容器和虚拟机还消除了对物理硬件的需求,使我们能够更有效地使用计算资源,从而提高能源效率和成本效益。
虚拟机将虚拟硬件、内核(即操作系统)和用户空间打包成一个新的虚拟机虚拟机可以使用“管理程序”在物理设备上运行。虚拟机依赖于虚拟机管理程序,虚拟机管理程序通常安装在“裸机”系统硬件上,使得虚拟机管理程序在某些方面被视为操作系统。安装虚拟机管理程序后,可以从可用的系统计算资源中分配虚拟机实例,每个虚拟机接收唯一的操作系统和工作负载(应用程序)。简而言之,虚拟机首先要虚拟出一个物理环境,然后构建一个完整的操作系统,然后再构建一个操作层供应用程序运行。
对于容器环境,不需要安装主机操作系统。一旦安装了容器,就可以从可用的系统计算资源中分配容器实例,并且可以将企业应用程序部署在容器中。但是,每个容器化应用程序将共享相同的操作系统(单个主机操作系统)。容器可以被认为是安装了一组特定应用程序的虚拟机。它直接使用主机内核。
与虚拟机相比,容器具有更高的资源利用效率,因为不需要为每个应用程序分配单独的操作系统——实例规模更小,创建和迁移的速度也更快。快速地。这意味着单个操作系统可以承载比虚拟机更多的容器。云提供商非常热衷于容器技术,因为可以在相同的硬件设备上部署更多的容器实例。此外,容器很容易迁移,但只能迁移到具有兼容操作系统内核的其他服务器,这限制了迁移选项。
由于容器不像虚拟机那样封装内核或虚拟硬件,因此每个容器池都有自己独立的用户空间,允许多个容器池运行在同一个主机系统上。我们可以看到,所有操作系统级别的架构都可以跨容器共享,唯一需要独立构建的就是二进制文件和库。正因为如此,容器具有极其优异的轻量化特性。
稍微接触过Docker的人一定都看过下面这张图,不用多解释了。
docker虚拟机之间的差异
3深层差异:
docker虚拟机之间的差异
更新:Docker现在支持windows。因此,上面的Windows支持栏可以忽略。
二、Docker究竟是什么,为什么这么流行,它的优点和缺陷有哪些什么是Docker?
简而言之,Docker就是用GO语言编写的程序运行的“容器”(Linuxcontainers,LXCs),当前云服务的基础是操作系统层面的隔离,在同一个物理上;多主机服务器在计算机上虚拟化。Docker实现应用级隔离;它将我们的基本开发和运营单元从直接处理虚拟主机(VM)更改为运行操作程序的“容器”。
Docker是一个开放平台,专为开发人员和系统管理员设计,用于发布和运行分布式应用程序。由两部分组成:
DockerEngine:可移植的运行时环境和包管理器。(注*单操作系统与单线程,它与NodeJS非常相似吗?)
DockerHub:创建自动化工作流程和共享应用程序的云服务。(注*云镜像/包管理vsnpm包管理,是不是和npm很相似?)
截至2013年3月20日,Docker第一个版本于2014年6月正式发布Docker1.015个月后正式发布。尽管它的发展历史很短,但Docker正在变得来越流行。
事实上,Container技术并不是一种创新,HeroKu、NodeJitsu等Docker云服务商都曾使用过类似的轻量级虚拟化技术,但Docker是第一个大规模使用这种Container技术的。开源并被社区广泛接受。
好的部分
Docker相对于VM虚拟机的优势非常明显,即轻量、高性能、便捷以下部分摘自:KVM和DockerLXCOpenStackBenchmarks
快速
运行时性能可以大大提高(经典案例是97%的提升)
管理操作(启动、停止、启动、重启等)都在几秒或几毫秒内完成一个单位。
敏捷
与虚拟机一样敏捷且更便宜,在裸机上的部署就像单击按钮一样简单。
灵活
“容器化”应用程序和系统,无需添加额外的操作系统,
轻量级
您将拥有足够的“操作系统”,只需添加或者减去100~1000个容器就可以在服务器上使用。
开源,成本低。现代Linux内核的支持和驱动,在物理机上开辟了更多的“容器”,注定会比虚拟机便宜。
生态系统
越来越流行了,看看Google趋势,docker或者LXC就可以了。
有很多第三方社区和应用。>云支持
很多云服务都提供了创建和管理Linux容器的框架。
关于Docker的性能优势,也可以参考这位IBM工程师的性能改进评估,比VM有很大提升(OS系统级虚拟化)各个方面。转载仅供参考。