容器化和虚拟化区别(容器化技术有哪些)

容器化和虚拟化区别(容器化技术有哪些)

浏览次数:
信息来源: 用户投稿
更新日期: 2024-12-03 15:26:22
文章简介

了解虚拟化与容器化之间的差异可以提高组织的可扩展性并降低运营成本。在本文中,我们将讨论这两种创建虚拟包的方法之间的具体差异,以及这两种有价值的解决方案之间的一般差异。 关于服务器虚拟化的讨论不可避免

2025阿里云双十一服务器活动

了解虚拟化与容器化之间的差异可以提高组织的可扩展性并降低运营成本。在本文中,我们将讨论这两种创建虚拟包的方法之间的具体差异,以及这两种有价值的解决方案之间的一般差异。

关于服务器虚拟化的讨论不可避免地围绕VMware、Hyper-V以及在较小程度上还围绕Xen和KVM展开。但另一个重要的内容是Docker。

如果我们谈论Docker,我们就是在谈论容器化——这与基于管理程序的服务器虚拟化有点不同。但是将应用程序封装在具有操作环境的容器中可以获得将应用程序加载到虚拟机上的许多好处:两者都可以放在任何合适的物理机上并运行,而无需担心依赖关系。

Docker与VMware

当然,Docker和VMware之间的一个关键实际区别在于Docker是一个基于Linux的系统,它利用了LXC,一个用于Linux内核包含特性的用户空间接口。

LXC的目标是创建一个尽可能接近标准Linux安装的环境,但不需要单独的内核。正如linuxcontainers.org网站所说:“LXC容器通常被认为介于chroot和成熟的虚拟机之间。”

因为Docker是建立在LXC之上的,所以它只能在Linux环境中运行,并且只能运行Linux应用程序。因此,您可以忘记在Windows或任何其他可以愉快地在传统虚拟机管理程序上运行的操作系统上运行的应用程序。

另一个关键区别是,Docker容器不是一个独立的系统,而是与运行主机的操作系统共享它使用的Linux内核。它还与也在主机上运行的其他容器共享内核。操作系统的共享部分是只读的,而每个容器都有自己的写入挂载。

容器化的好处

容器化和虚拟化区别,容器化技术有哪些

容器化的主要好处之一是,您通常可以在主机上打包比在虚拟机上更多的容器。这是有道理的,因为每个虚拟机本身就是一个独立的系统,拥有自己的操作系统和虚拟化硬件,以及分配给它的独特资源。如果每个VM的大小为10Gb,那么10个VM将占用10×10=100Gb的资源。

但是使用一个10Gb的容器并运行其中的10个,甚至100个,您将不会使用任何接近100Gb的资源。这是由于所有正在发生的共享。

实际上,所有容器只共享一个操作系统(严格来说是一个内核)。而且没有虚拟化硬件——只有容器中的一个小应用程序和操作环境。这意味着您可以在主机上运行比运行成熟的虚拟机更多的容器。

共享内核和其他资源还有一个附加效果,那就是容器可以在不到一秒的时间内启动。VM的情况并非如此,VM需要完整的虚拟系统启动,并且可能需要更长的时间才能启动。

Canonical(Ubuntu的赞助商)的负责人MarkShuttleworth重申,速度是一个额外的好处。“Canonical支持关键内核和用户空间工作,使您可以创建行为就像VM一样的容器——你在其中有root——即使你只是系统上的普通非root用户。比KVM更快更轻,”他说。

还有其他好处。例如,您可以在AWS和Azure公共云上运行Docker容器,并且容器易于共享。这对测试和开发团队特别有用——这是Docker最常被提及的潜在受益者之一。

容器化还不能替代成熟的服务器虚拟化

但对VMware和其他公司来说,好消息是容器化并不能替代成熟的基于管理程序的服务器虚拟化——至少现在还不能。

这是因为这个虚拟化世界被极其复杂的管理基础架构所包围,它允许您存储、启动和运行虚拟机,在主机之间实时迁移它们,创建高可用性集群等等。VMware的vCenter、Microsoft的SystemCenterVirtualMachineManager和其他第三方管理产品等产品经过多年的发展。

尽管Google、RedHat、CoreOS、IBM和微软都在开发开源KubernetesDocker管理系统,但目前还没有Docker可比的东西,该系统已迅速发展成为企业IT的主要工具。

这一切都意味着Docker虚拟化技术在未来绝对值得关注。

标签:
vdi虚拟桌面的架构组成(组织架构图怎么制作)
« 上一篇
虚拟化的工作原理(虚拟化的概念)
下一篇 »

如本文对您有帮助,就请抽根烟吧!