别轻易说取代:容器不会取代虚拟机

简介:

自容器概念兴起,就有很多人认为:容器将取代虚拟机,容器作为"虚拟化2.0"概念获得企业和开发者的关注。笔者认为,容器非但不会取代虚拟机,相反,二者或将形成一种互为补充的姿态,优化企业的IT体系。

容器的代表作Docker

对于很多程序员来说,或许还不够了解容器,但一定听说过Docker。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,Docker称之为:Build once,Run anywhere。

很多人都听说过Dcoker获得了IBM、微软、惠普、腾讯等企业的支持,其中Docker在腾讯英雄联盟游戏中的表现更让很多人都坚信,以Docker为代表的容器必然在不久的将来彻底代替虚拟机。

而Docker作为最流行的容器工具,和容器目前的事实标准收到越来越多人的关注,究竟容器/Docker与虚拟机之间的博弈会以何种方式收场,我们还不得而知,但笔者预测,未来容器技术可能会与虚拟化技术成为相辅相成的关系。

Docker与镜像概念

在2016年的DockerCon大会上,Docker再次推翻了之前PaaS层定义,树立了一个自己的新标准:Serverless无服务器架构。同时,Docker的镜像概念已经成为很多依托Docker技术成立的云企业的卖点。

镜像可以应用程序和它的应用环境一起打包,形成一个"集装箱",放入仓库。然后这个集装箱随时下载、解压、应用,减轻了开发者的负担,不但迅速还能够保证一致性。

Docker PK虚拟机

TCO:根据相关机构调查显示,超过百分之四十的企业选择用Docker是因为它比虚拟机更便宜。由于Docker是一款开源的容器引擎,这决定了Docker本身免费的事实。

而虚拟机是相较传统物理机更为节约资源的方式,因为它能形成一个有效的、独立的真实机器的副本,进而节约企业TCO,受到很多企业的欢迎。

敏捷性:当敏捷开发、微服务等概念逐渐深入,轻量化已经成为一种新风向。Docker直接建立在操作系统上的方式在启动方式,让秒级启动成为新常态,获得很多企业的认可。而模块化让扩展和迁移都更迅速、可靠,Docker允许我们轻松将应用程序的功能拆分成多个独立容器,让Docker轻量化特点进一步凸显。

安全性:与真实的物理机相比,虚拟机因为Hypervisor层的存在,让小白用户也可以对虚拟机进行任何操作,无须担心对机器本身造成任何损害。对于企业而言,虚拟机经过四十余年的发展已经成为一种成熟的IT技术,在隔离性、安全性上,虚拟机也显得更为无可挑剔,相比之下,虚拟机也更为安全。而Docker目前备受诟病的一个点就是:隔离性和安全性。

从实现原理上讲,Docker有着比虚拟机更少的抽象层,不需要硬件资源池化,不需要Guest OS。与容器相比,虚拟层为用户提供了一个完整的虚拟机:包括内核在内的一个完整的系统镜像,虚拟层可以为每个用户分配虚拟化后的CPU、内存和IO设备资源,为用户提供一个隔离性更强的系统环境。

结束语

Docker或者说容器技术和虚拟机并非简单的取舍关系,如果你希望一个完全隔离的和资源有保障的环境,那么虚拟机是你的不二选择;如果你只希望进程之间相互隔离,同时拥有轻量化的属性,那么linux容器技术或者Docker,才是更好的选择。


本文作者:鲁畅

来源:51CTO

相关文章
|
运维 Java 虚拟化
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
520 12
|
存储 数据安全/隐私保护 数据中心
Incus 6.4 容器和虚拟机管理器发布
【10月更文挑战第26天】
675 2
Incus 6.4 容器和虚拟机管理器发布
|
存储 持续交付 虚拟化
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
473 0
|
存储 缓存 监控
在Linux中,如何优化虚拟机和容器的性能和资源使用?
在Linux中,如何优化虚拟机和容器的性能和资源使用?
|
Linux KVM 虚拟化
在Linux中,如何进行虚拟机和容器的备份和迁移?
在Linux中,如何进行虚拟机和容器的备份和迁移?
|
存储 监控 Linux
在Linux中,如何实现虚拟机和容器之间的互操作性?
在Linux中,如何实现虚拟机和容器之间的互操作性?
|
安全 容器
虚拟机比容器更安全?
本文讲的是虚拟机比容器更安全?,理论上,是的。实际上,也许。
1450 0
|
7月前
|
Oracle 关系型数据库 虚拟化
在VMware的Win10虚拟机中安装使用ENSP
本文介绍了在Windows 10虚拟机上安装ENSP及相关软件的全过程,包括VirtualBox、WinPcap、Wireshark、VLC和ENSP的安装步骤,并提供图文演示,帮助用户顺利完成配置与测试。
1803 134