导言:在如今的大数据时代,互联网的发展离不开一些核心技术的应用。企业踏入数字化转型浪潮的同时,也纷纷上“云”。在如今的云计算时代,“集装箱云”脱颖而出。那么到底什么是“集装箱云”呢?
云计算中的云其实是比喻的说法,主要还是指虚拟化技术。简单来说,云计算是由专业的第三方服务运行商搭建计算机存储和计算服务中心,把资源虚拟化为“云”后存储起来,为用户提供服务。
这里我们主要引申出两种较为常见的虚拟化技术——虚拟机与Docker。
一.虚拟机
虚拟机主要是为了解决之前一个服务器只能运行一个应用的问题,它实现了操作系统/硬件的抽象,使得一个服务器可运行多个应用。
主要是通过在物理服务器上建立多个虚拟主机,分别划分多个不同的计算资源,供给Web应用使用。这样使得多个应用可以稳定安全地运行在同一个服务器,也减少了服务器资源的闲置。
缺点则是由于在虚拟机技术中服务器与应用的映射关系从一对一变为了一对多,这样会使得使得不同的虚拟机间会竞争带宽、宿主机端口资源等。
在负载较高的情况下,虚拟机的性能则会变得很差,资源利用率大大下降,导致调度分发也缓慢。
二.Docker容器
这时,Docker则很好地解决了虚拟机的缺点,Docker简单来说是一种轻量级的虚拟化技术。它与虚拟机最大的区别是容器的运行不会独占操作系统,运行中的容器是共享宿主机的内核的,这样就节约了大量的系统资源,进而降低运维和资金成本。
2.1 Docker定义
Docker来源于英国的口语词汇,意思是码头工人(Dock Worker),即从船上装卸货物的人。
dotCloud公司最初是PaaS提供商,而后,他们开发了一套方便创建和管理容器的工具,之后被命名为“Docker”。
2013年,dotCloud公司也将公司改名为“Docker”,放弃了dotCloud PaaS平台,而专注于Docker和容器技术。那时,Docker也被誉为“软件工业的集装箱技术”。
而标题中的“集装箱云”指的则是Docker容器技术,它的主要使用场景是实现对于不同的应用进行隔离。
简言之,Docker是软件工业中的“集装箱”技术,它封装了软件运行时环境并以容器为基本单位的集成、交付和调度,主要用于分布式应用的平台。
它属于更轻量级的虚拟化技术,只提供对操作系统的虚拟,而不是对计算机实体资源的虚拟,所以相较于虚拟机技术,它的迁移和扩展性更好。
2.2 Docker 的3大核心概念
(1) 镜像(Image):相当于停止运行的容器,内部是一个精简的操作系统(OS),同时还包括运行应用所必须的文件和依赖包。并且镜像有唯一的ID标识。
(2) 容器(Countainer):可以理解为运行时的容器,是依据镜像创建出来的。
(3) 仓库(Image Repository):用于存储镜像文件。
这里需要说明,一个镜像仓库服务包含多个镜像仓库;而一个镜像仓库中可以包含多个镜像。
2.3 Docker的优势
(1) 轻量级的虚拟化,很轻松地创建、启动、停止和删除容器。
(2) 超级集装箱:Docker可以装载系统、服务和应用,同时保证运行环境的统一性,能够很轻松的做到统一部署环境。
(3) 多个容器共享一个操作系统,不需要Hypervisor(虚拟机监视器,用来建立与执行虚拟器的软件、固件和硬件),实现更轻松的迁移和秒级甚至毫秒级的启动时间。
(4) 每个容器的命名空间(namespace)唯一,所以实现了容器之间互不影响。这也使得运行在其中的应用程序实现独立和隔离的目的。
以上就是Docker技术的简要介绍,相信未来Docker容器技术会更加完善和友好,而对于企业来说,了解这项技术也是必不可少的。
《深入浅出Docker》奈吉尔·波尔顿
《基于Docker容器的Web集群部署与扩容系统》刘熙
《基于Docker容器的SaaS模式云应用平台的研究与设计》 叶龙胜
《云计算环境下智能优化算法及其在SaaS中的应用》吴昊