Docker未曾想过取代虚拟机

简介:

作为一种确保多个工作负载在物理服务器上隔离性的轻量级方式,容器已经存在了很多年。使用基于hypervisor的虚拟化,软件层(hypervisor)对服务器底层的物理硬件进行了抽象,允许在hypervisor之上创建虚拟机并安装应用。与基于hypervisor的虚拟机不同,容器并不打算效仿物理服务器。相反,主机上的所有集装箱化应用共享通用的操作系统内核,避免了针对每个应用运行一个单独的操作系统,极大地减少了开销。

支出减少尤其受云服务供应商的欢迎,只需要很低的成本就能够提供有竞争力的价格,同时还能够获得利润。在大多数情况下,这些公司基础设施的内部运行机制被严密保护,但偶尔也会公开某些方面。例如谷歌说它几乎所有的应用都是在其自产的容器软件Omega内运行。

在云供应商之中出现的容器将替代虚拟机的趋势可能会给提供虚拟机管理软件及服务的公司带来重大影响。VMware在2001年将其GSX服务器虚拟化平台引入到企业IT中,在接下来的十年中,该公司攫取了大量利润并成为虚拟化的代名词。目前, VMware在hypervisor业务中遥遥领先于与其最接近的竞争对手(微软)。容器引起高度关注,使某些人怀疑hypervisor是否正在接近终结。

总部位于俄勒冈州的咨询公司Dragon Slayer的高级分析师Marc Staimer说:“容器可以以更高的效率、更低的成本,几乎能够做到hypervisor所能做的一切。容器是下一代虚拟化,已经对VMware构成直接威胁。”

VMware 肯定不会忽略有关新容器的大肆宣传,它发布了更新程序,能够将Docker容器从开发平台无缝迁移至vSphere或vCloud Air环境中的测试或开发环境。公司主管说他们将Docker视作为开发人员提供工具的合作伙伴而非服务器虚拟化业务的威胁。当然VMware支持容器在虚拟机之上运行,解决了应用可移植性问题,但并没有进行进一步的整合。

实际上,Docker并没有任何公开计划要替代已有的虚拟化厂商。

Docker的市场销售副总裁David Messina 说:“实际上,在大多数情况下Docker被部署在虚拟机上运行。容器取代虚拟机的言论肯定不是我们所倡导的。Docker容器的核心价值是应用百分之百的可移植性…而不是更高的硬件密度。”

容器如何安身立命

将容器用作整合工具的障碍仍旧存在。例如,几年前很多对基于hypervisor虚拟化的批评言论再次被引用。举例来讲,如果硬件出现故障,更高的整合级别增加了工作负载运行中断的风险。关注安全性的人指出单个内核可能会影响主机上的所有容器。目前容器基本没有可以用于虚拟机的编排工具以及高级管理功能。

然而,使用容器的并非只有Google和大型云供应商。比如总部位于科罗拉多州的新兴公司DH2i专门部署了Windows容器管理软件,用于整合服务器并节省了软件许可费用。

Virtualization Practice公司的分析师Simon Bramfitt说:“如果Docker内部的业务路线图反映了其对容器作为整合工具的犹豫不决,那么执行领导可能正将公司带向错误的方向。”

Simon Bramfitt说:“如果他们想的只是让开发者的生活更轻松一点儿,那么并未发挥出平台的优势。我认为企业环境的确需要工作负载的容器化。如果他们没有选择开拓市场,那么我想知道他们是否更想开拓已经发现的更为安全的市场,比如较少面临来自VMware的竞争的市场。”

即使是某些Docker用户,包括总部位于亚特兰大市的移动应用公司 Yik Yak的CTO Tom Chernetsky也提到他们可能会考虑对容器作为虚拟机替代选择的可行性进行测试。

451 Research的研究经理Jay Lyman说:“实际情况是一切都是混用的,使用不同的工具和技术实现企业IT目标。容器仅仅是另一个工具。”

“Docker以及容器在任何时候都不会快速取代虚拟机。很多虚拟机将会和容器一起使用。但Docker和容器不必推翻VMware就能在市场上继续拥有巨大的发展及吸引力。考虑到VMware在企业IT中的流行程度,如果容器取代了10%到15%的VMware虚拟机,这将是相当巨大的成就。”


本文作者:张冀川

来源:51CTO

相关文章
|
2月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
36 2
|
2月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
201 0
虚拟机centos7.9一键部署docker
|
4月前
|
测试技术 持续交付 云计算
Docker 相对于虚拟机的优势
【8月更文挑战第27天】
119 5
|
4月前
|
安全 持续交付 虚拟化
在Docker中,Docker和虚拟机有什么不同?
在Docker中,Docker和虚拟机有什么不同?
|
4月前
|
应用服务中间件 Linux nginx
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
这篇文章讨论了Linux虚拟机磁盘扩容的方法,包括外部配置、具体扩容步骤和扩容后的效果验证。同时,文章还涉及了Docker容器磁盘满的问题及其解决方法,如删除不必要的镜像和容器,以及调整Docker的安装路径。此外,还提到了意外情况的处理,例如误删除停止的容器后的应对措施。最后,文章还提供了使用Docker安装nginx的步骤和成功访问的截图。
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
|
4月前
|
关系型数据库 MySQL 数据库
成功解决:Navicat 连接虚拟机Docker中的mysql数据库失败(仅限某些特殊情况)
这篇文章介绍了在Ubuntu环境中使用Docker部署Flask项目的方法,包括创建测试项目、设置数据库、构建Flask和Nginx镜像以及容器编排,其中使用了MySQL 5.7作为数据库,Flask 2.0.2作为Web框架,Gunicorn 20.1.0作为应用服务器,Nginx 1.21.4作为反向代理,并解决了Navicat连接Docker中的MySQL数据库失败的问题。
|
5月前
|
存储 Linux 虚拟化
虚拟机下如何使用Docker(完整版)
Docker 是一款开源的应用容器引擎,由Docker公司最初开发并在2013年发布。Docker的核心理念源自于操作系统级别的虚拟化技术,尤其是Linux上的容器技术(如LXC),它为开发人员和系统管理员提供了一种标准化、轻量级的方式来打包、分发和运行应用程序及其依赖环境。
387 2
|
7月前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
7月前
|
虚拟化 Docker 容器
【Docker】Docker容器和虚拟机的区别是什么?
【4月更文挑战第20天】【Docker】Docker容器和虚拟机的区别是什么?
|
KVM 虚拟化 云计算
Docker和虚拟机有什么区别?
Docker和虚拟机有什么区别?
643 1