一种采用web语言实现的容器镜像的方法和系统技术方案

技术编号:24707346 阅读:15 留言:0更新日期:2020-06-30 23:53
本发明专利技术提出一种采用web语言实现容器镜像的方法和系统,所述方法包括:步骤1)基于Dockerfile文件和docker build命令构建web容器镜像;步骤2)对web容器镜像进行解析,并对web容器镜像中web代码进行解释执行;本发明专利技术采用web语言构建跨平台、统一的web容器镜像;方便了容器镜像的部署和管理;充分利用web语言跨平台、轻量级的优势,解决现有容器服务环境中的容器镜像平台异构问题,方便容器镜像部署和管理。

【技术实现步骤摘要】
一种采用web语言实现的容器镜像的方法和系统
本专利技术属于容器
,具体而言,尤其涉及一种采用web语言实现容器镜像的方法和系统。
技术介绍
随着容器技术(如LXC,Docker)的迅速发展,很多云平台都是基于容器技术和容器集群管理工具(如DockerSwarm,Kubernetes,Mesos等)按需向用户提供IaaS/PaaS/SaaS等服务,而且由于容器技术具有轻量化、易部署等优点,容器技术还可以很好地应用于智能终端,如可以基于轻量级容器化技术和容器集群管理工具将多个智能终端的资源池化并管理起来,按需向周围其他终端设备提供服务。容器镜像作为创建容器需要的基石,其中包含了容器需要运行的服务及依赖的执行环境,它是容器化服务环境中服务部署和任务传递的载体。由于容器镜像中保存的是平台相关的可执行文件及其依赖的执行环境,不同cpu架构、不同操作系统的平台在执行相同服务或任务时需要有不同的镜像,而容器服务环境中平台异构结点普遍存在而且很难完全避免,这造成了容器服务环境中有大量不同平台的异构容器镜像需要部署和管理,这种容器镜像异构问题给容器服务的效率和开销带来了很大挑战。Web应用是由HTML、CSS、JavaScript等组成的需要web引擎解释执行的应用,它具有轻量级、跨平台、易开发等优势,容器虚拟化技术和web结合是解决容器服务环境面临的镜像异构问题的有效方法,该方法使用web语言构建跨平台、轻量级的web容器镜像,然后将web应用解释执行环境(web引擎)引入容器中运行来构建web容器镜像解析执行环境对web容器镜像进行解析,并对其中的web代码进行解释执行。目前web引擎和容器虚拟化技术结合的研究都是利用容器虚拟化技术提供的进程隔离机制以及资源管理机制来解决多进程web引擎面临的安全和资源管理问题,没有发现基于web技术来解决容器服务环境面临的镜像异构问题的相关研究。
技术实现思路
本专利技术的目的在于解决目前容器服务环境面临的镜像异构问题,利用web语言跨平台、体积小的优点,将容器虚拟化技术和web技术相结合,采用容器镜像构建解析方法,根据web引擎多进程架构和web应用解释执行原理,提出了一种采用web语言实现容器镜像的方法和系统;所述方法包括:步骤1)基于Dockerfile文件和dockerbuild命令构建web容器镜像;步骤2)对web容器镜像进行解析,并对web容器镜像中web代码进行解释执行。作为所述方法的一种改进,所述步骤1)具体包括:步骤1-1)基于Dockerfile文件和dockerbuild命令生成web容器镜像;步骤1-2)在所述的Dockerfile文件中创建容器数据卷目录,用于在容器间共享web代码;步骤1-3)使用COPY指令或ADD指令拷贝web代码到所述容器数据卷目录中。作为所述方法的一种改进,其特征在于,所述步骤2)具体包括:步骤2-1)对web引擎主进程和渲染进程进行容器化,对JS引擎单独编译为独立进程并进行JS引擎容器化;步骤2-2)基于命名管道通信机制实现web引擎主进程与渲染进程之间的通信,和web引擎主进程与JS引擎之间的通信;步骤2-3)设置管控组件,实现web引擎主进程对渲染进程容器和JS引擎容器进行管理;步骤2-4)对渲染进程和JS引擎进行HTTPserver和HTML5功能扩展;步骤2-5)web引擎主进程对web容器镜像进行解析,通过容器数据卷机制获取web容器镜像中的web代码类型,并依据代码类型确定启动渲染进程容器或JS引擎容器对web代码进行解释执行。作为所述方法的一种改进,所述步骤2-1)具体包括:步骤2-1-1)将web引擎主进程和渲染进程进行分离并编译成可执行程序,利用容器镜像机制或挂载指令将web引擎主进程和渲染进程分别引入容器中执行;步骤2-1-2)将JS引擎编译成可执行程序,并进行容器化。作为所述方法的一种改进,所述步骤2-3)具体包括:步骤2-3-1)在web引擎主进程中添加管控组件,web引擎主进程通过管控组件和DockerEngine交互实现对渲染进程容器和JS引擎容器启动、中断和恢复、资源分配、状态获取、停止和销毁管理;步骤2-3-2)设置web引擎主进程对JS引擎的权限控制机制,设置web引擎主进程控制JS引擎的资源下载,达到资源共享。作为所述方法的一种改进,所述步骤2-4)具体包括:步骤2-4-1)对渲染进程进行HTTPserver功能扩展和HTML5websocket服务端功能扩展;步骤2-4-2)对JS引擎进行HTTPserver功能扩展和HTML5功能扩展,其中HTML5功能包括HTML5websocket服务端功能,HTML5webworker和HTML5webstorage功能。作为所述方法的一种改进,所述步骤2-5)具体包括:步骤2-5-1)当web引擎主进程对web容器镜像进行解析时,利用web容器镜像创建数据卷容器;步骤2-5-2)Web引擎主进程通过容器数据卷目录获取数据卷容器中的web代码,依据web代码类型决定启动渲染进程容器或JS引擎容器,并向DockerEngine发出容器创建请求;步骤2-5-3)渲染进程容器或JS引擎容器同样通过容器数据卷目录获取数据卷容器中的web代码,并对其进行解释执行。本专利技术还提出一种采用web语言实现的容器镜像的系统,包括存储器、处理器和存储在存储器上的并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。本专利技术的优势:1、本专利技术的采用web语言实现容器镜像的方法和系统采用web语言构建跨平台、统一的web容器镜像;2、本专利技术的采用web语言实现容器镜像的方法和系统采用与平台无关的web代码,而且其中不包括执行web代码的所需要的解释执行环境,方便了容器镜像的部署和管理。3、本专利技术的采用web语言实现容器镜像的方法和系统可以充分利用web语言跨平台、轻量级的优势,解决现有容器服务环境中的容器镜像平台异构问题,方便容器镜像部署和管理。附图说明图1为本专利技术的采用web语言实现容器镜像的方法和系统中web容器镜像解析执行环境构建模块流程图;图2为本专利技术的采用web语言实现容器镜像的方法和系统中web容器镜像解析执行环境架构图;图3为本专利技术的采用web语言实现容器镜像的方法和系统基于命名管道的通信机制;图4为本专利技术的采用web语言实现容器镜像的方法和系统中web引擎进程对渲染进程容器和JS引擎容器管理机制。具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细的说明。本专利技术公开了一种采用web语言实现容器镜像的方法和系统,通过将容器虚拟化技术和web技术相结合,采用web语言构建跨平台、统一的web容器镜像,设计web容器镜像解析执行环境对web容器本文档来自技高网
...

【技术保护点】
1.一种采用web语言实现容器镜像的方法,所述方法包括:/n步骤1)基于Dockerfile文件和docker build命令构建web容器镜像;/n步骤2)对web容器镜像进行解析,并对web容器镜像中web代码进行解释执行。/n

【技术特征摘要】
1.一种采用web语言实现容器镜像的方法,所述方法包括:
步骤1)基于Dockerfile文件和dockerbuild命令构建web容器镜像;
步骤2)对web容器镜像进行解析,并对web容器镜像中web代码进行解释执行。


2.根据权利要求1所述的采用web语言实现容器镜像的方法,其特征在于,所述步骤1)具体包括:
步骤1-1)基于Dockerfile文件和dockerbuild命令生成web容器镜像;
步骤1-2)在所述的Dockerfile文件中创建容器数据卷目录,用于在容器间共享web代码;
步骤1-3)使用COPY指令或ADD指令拷贝web代码到所述容器数据卷目录中。


3.根据权利要求1所述的采用web语言实现容器镜像的方法,其特征在于,所述步骤2)具体包括:
步骤2-1)对web引擎主进程和渲染进程进行容器化,对JS引擎单独编译为独立进程并进行JS引擎容器化;
步骤2-2)基于命名管道通信机制实现web引擎主进程与渲染进程之间的通信,和web引擎主进程与JS引擎之间的通信;
步骤2-3)设置管控组件,实现web引擎主进程对渲染进程容器和JS引擎容器进行管理;
步骤2-4)对渲染进程和JS引擎进行HTTPserver和HTML5功能扩展;
步骤2-5)web引擎主进程对web容器镜像进行解析,通过容器数据卷机制获取web容器镜像中的web代码类型,并依据代码类型确定启动渲染进程容器或JS引擎容器对web代码进行解释执行。


4.根据权利要求3所述的采用web语言实现容器镜像的方法,其特征在于,所述步骤2-1)具体包括:
步骤2-1-1)将web引擎主进程和渲染进程进行分离并编译成可执行程序,利用容器镜像机制或挂载指令将web引擎主进程和渲染进程分别引入容器中执行;
步骤2-1-2)将JS引擎编译成...

【专利技术属性】
技术研发人员:朱小勇王昭胡琳琳
申请(专利权)人:中国科学院声学研究所北京中科视云科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1