在云计算快速发展的今天,越来越多的场合听到docker、镜像,那么,这些都是什么,又有什么作用?

在聊这些之前,先要弄清楚一个概念,什么是虚拟化。

虚拟化

云计算中,IaaS层服务提供给了用户不同的服务器选择,但是对于物理服务器来讲,硬件配置是固定的,物理机cpu32核,就一定是32核,但是云计算上提供出来的8核处理器的服务,是购置了8核的服务器吗?当然不是。之所以存在8核处理器,正是因为采用了虚拟化技术,将原本32核的服务器,拆分成了4台8核处理器,提供给用户进行使用。虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

虚拟化拆分有什么好处?

四个人干活总比一个人要快,物理设备受操作系统管理限制,有些性能是受限的,比如,socket端口连接数,linux最大连接端口65535,那么,单台设备,即便你的cpu,再快,内存再大,你的连接上限是锁死的。因此,分担给四台设备,就无形增加了应用的可接入数量。

docker其实,就是完成虚拟化的一种方法。

dockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker支持随机创建、销毁,当任务需要创建一台实例时,只需要在设备池中虚拟化出一台资源机,挂载私有网络,遍完成了实例创建。当然,服务器除了硬件资源,还需要软件资源,包含操作系统、容器、中间件等配合,因此,实例化docker之后,我们还得创建操作系统、安装我们的容器配置。

1849e4069ae41dea09af3cb4b0f76bfd.png

那么,能否把这些所需要的内容进行统一打包,然后顺势“解压”到服务器上,直接完成基本环境部署。

这就需要镜像文件的协助。

镜像

仔细回想一下,winXP,win7盛行的年代,当年“雨林木风”大火的年代,凡是安装过操作系统的,都或多或少听说过ghost,那个蓝色的框框,我们将gho文件预先存放在磁盘里,或者光盘中,甚至U盘启动盘中,蓝色框框出现后,选中gho文件,对其进行还原。待安装完成后,我们的操作系统就安装好了,当然,驱动什么的,需要自行解决。

c0f4eff6425d4074aa5391aadc950ff5.png

这种方式,只是安装系统的其中一种,还有一种ISO文件,可以双击打开,这种更为方便,打开后,按步骤执行,会覆盖系统盘的全部内容。从而替换当前操作系统。

这些,都是镜像文件的体现方式。镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。

镜像是一种文件存储形式,可以把许多文件做成一个镜像文件,与GHOST等程序放在一个盘里用GHOST等软件打开后,又恢复成许多文件,RAID 1和RAID 10使用的就是镜像。常见的镜像文件格式有ISO、BIN、IMG、TAO、DAO、CIF、FCD。

现在云计算中,镜像使用更为广泛。配合虚拟资源生成,镜像集成了操作系统、nginx,tomcat,jenkins,sdk等。按照不同设备功能,对服务器进行不同版本软件集成。

正是因为有了镜像文件,才大大减少了虚拟服务器创建的工作量。才有了如今,各大公有云厂商的一键生成服务器的操作。

更多内容可关注公众号“IN科技”,有任何问题,均可留言。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐