龙空技术网

为何弃用虚拟机?Docker容器技术有何不一样?

老胡看科技 15

前言:

此时看官们对“共享虚拟机已弃用怎么解决”大体比较看重,看官们都需要了解一些“共享虚拟机已弃用怎么解决”的相关知识。那么小编在网络上收集了一些对于“共享虚拟机已弃用怎么解决””的相关文章,希望各位老铁们能喜欢,看官们快快来学习一下吧!

在实际的软件开发过程中,我们需要多的环境:如开发环境、测试环境、沙箱环境、自动化环境、预发环境、生产环境……这么多的环境要如何维护呢?是一台机器部署一个应用,还是一台机器部署多个应用?多个应用之前又要怎么隔离呢?这时候就需要使用到虚拟化技术了。

最早的虚拟化技术是虚拟机,所谓虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统 。这个听起来有些绕口,其实就是通过软件的隔离,让你的电脑能够同步安装多个完整的计算机系统,这里说的软件比较有名的就是VMWare和OpenStack,通过VMWare或OpenStack,我们在原来的电脑中模拟出一台甚至多台“子电脑”出来。这些子电脑可以是Mac、windows、linux中的任意系统、任意版本,只你软件支持且你能找到镜像。在“子电脑”里,你可以和正常电脑一样运行程序,例如打开word。各个子电脑之间的软件硬件都是相互隔离的,互不影响的。

虚拟化有哪些优势?

虚拟机能够让一台机器像多台机器一样运行,这意味着您需要的服务器更少,并且还可以最大限度地利用您拥有的服务器。这种效率的提高能够节省硬件、冷却和维护成本。借助虚拟化,我们可以在同一台机器上运行多种类型的应用、桌面和操作系统。

弃用虚拟机

但今天我们要说的是,我们要弃用虚拟机,投入容器化的怀抱,为何?LXC,就是Linux容器虚拟技术(Linux container),它是Docker容器技术的基础,Docker轻量级的虚拟化,虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动慢。而容器技术恰好没有这些缺点,它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。

传统虚拟机在硬件层面上实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统,而Docker容器是在操作系统层面上实现的虚拟化,直接利用本地主机的操作系统,因此更轻量。

Docker容器本质上是宿主机上的一个进程。Docker 通过命名空间实现了资源隔离,通过 cgroups实现了资源的限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。能够实现更快速的交付和部署;更高效的虚拟化;更轻松地迁移和扩展;更简单的管理。

举个简单的例子:传统我们盖房子需要木料、水泥、砖头……,需要选好施工地,并请工人来进行一定时长的工作。等下次我们需要在一个新的地方重新盖房子,就又要重新来一次。Docker将已经盖好的房子,通过魔法背包打包成镜像,里面只是房子模型,没有任何的实际生活用品以保证轻量,等到了一个新的地方,我们只要取出背包中的镜像,房子就还原回来了,想要什么房子就用什么镜像,实现“Buildonce,Runanywhere(搭建一次,到处能用)”。

标签: #共享虚拟机已弃用怎么解决