云软件简单来说是部分或完全运行在云中的软件程序。这里的云主要是一个比喻化的概念,其依托于云计算以及相关的虚拟化资源技术。而容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。(跑应用的容器)
而基于容器云部署的云软件包含了哪些容器技术呢?这里我们以较为主流的Docker容器为例。
Docker容器技术主要可以分为2种,前者是容器核心技术,后者是容器平台技术。
一、容器核心技术
容器核心技术是指能够让容器在主机上运行起来的技术,主要包括容器规范、容器runtime、容器管理工具、容器定义工具、Registries和容器OS。
由于是涉及到技术相关的问题,我们就简单介绍下。
(1)容器规范主要是为了能够让容器在不同的运行环境上运行而制定的相关规范,目的是保证容器的可移植性和互操作性。
(2)容器runtime是容器真正运行的环境。
(3)容器管理工具对外为用户提供接口,以方便用户管理容器,比如创建、运行、删除等。
(4)容器定义工具主要是为了让用户可以定义容器的内容与属性,其包括docker image(镜像)、dickerfile、ACI(App Container Image)。
docker image是Docker容器的模板,runtime根据docker image创建容器。
dockerfile是包含若干命令的文本文件,而执行对应的命令可以创建出docker image。
ACI与docker image类似,是由其他公司开发的容器Image格式。
(5)Registry(仓库),容器通过image创建后由仓库来统一存放。
二、容器平台技术
容器核心技术给容器运行在单个主机上提供了支持,而容器平台技术可以让容器作为集群在分布式环境中运行。
容器平台技术包括容器编排引擎、容器管理平台和基于容器的PaaS。
以上即为容器核心技术和容器平台技术的简单介绍,希望对你有所帮助。
参考资料:《每天5分钟玩转Docker容器技术》CloudMan