一种Docker容器的构建和发布的方法、装置及系统制造方法及图纸

技术编号:19008954 阅读:48 留言:0更新日期:2018-09-22 08:51
本发明专利技术涉及互联网技术领域。一种Docker容器的构建和发布的方法,步骤如下:(1)通过事件机制触发自动构建镜像流程;(2)自动构建镜像,流程如下:a.拉取相应代码至工作空间;b.分析代码,获取自动创建Dockerfile所需要的代码元信息;c.根据代码元信息生成Dockerfile;d.利用Dockerfile构建镜像;(3)根据代码元信息部署到相应的容器单元。该Docker容器的构建和发布的方法、装置及系统的优点是简单易用。

Method, device and system for building and issuing Docker container

The invention relates to the field of Internet technology. A method for constructing and publishing Docker containers is described in the following steps: (1) triggering an auto-building mirror process through an event mechanism; (2) auto-building the mirror process, as follows: A. pulling the corresponding code into the workspace; B. analyzing the code to obtain the code meta-information needed for auto-creating Docker files; C. generating D. from the code meta-information; Ockerfile; D. Using Dockerfile to build the image; (3) Deploying the corresponding container unit according to the code element information. The advantages and disadvantages of the method, device and system for building and publishing the Docker container are simple and easy to use.

【技术实现步骤摘要】
一种Docker容器的构建和发布的方法、装置及系统
本专利技术涉及互联网
,尤其是Docker容器的构建和发布的方法、装置及系统。
技术介绍
随着计算机技术的发展,各类软件的更新迭代频率越来越快,而传统的应用发布过程人工操作占比过高,效率低下且容易导致应用出错。因此,我们需要一种尽量减少人工操作的应用自动发布装置,来加快研发流程,降低出错几率,从而达到降低研发成本的目的。同时现有的代码自动构建打包和部署虽然做到了一定程度的自动化,但是在某些方面仍然需要人工介入,仍然存在操作出错的风险,如何把人工操作降到最低对应用部署的稳定性显得尤为重要。于此同时,随着Docker容器技术的不断革新与发展,容器镜像正在逐步取代原来程序的二进制包,逐步成为一种新的软件交付介质。与传统的虚拟机相比,Docker作为一种新的应用容器引擎,具有更加简单的环境构建过程和一次构建到处运行的优势。但是,在从传统的虚拟机发布到Docker容器发布存在一定的接入壁垒,比如编写生成容器镜像的成本比较高。因此需要一种适合Docker容器的应用自动发布装置,以适应应用容器化的趋势和过程。在现有的技术方案中,在需要触发代码构建和发布时需要通过用户操作表单或者约定某一特定时刻的方式来开始构建和发布的流程。同时在现有的技术方案中,提供了利用传统的二进制包作为交付介质,并部署到类似于虚拟机环境等不同的操作系统中去的自动化构建和发布流程。人工通过表单等方式触发自动构建和发布的过程仍然需要人工干预,或者通过约定某一时刻的方式不能及时对用户推送代码的行为作出反应。仍然存在一定的操作风险和效率问题。利用传统的二进制包作为交付介质,不能很好的适应应用于容器环境的自动化构建和发布流程。同时需要适合容器环境的发布流程需要用户编写相应的Dockerfile,技术成本较高,且不利于标准化。现有的Docker容器的构建和发布存在以下问题:1.目前的自动化构建和发布系统仍然存在较多的人工干预过程,勿操作的风险仍然存在。2.不同语言编写或者不同类型的应用发布到Docker容器的过程中,需要编写与之相适应的Dockerfile来构建镜像,存在较高的接入成本。3.目前应用于发布至Docker容器的构建发布装置和系统的自动化程度任然较低,导致构建发布效率比较低。
技术实现思路
本专利技术的目的是为了解决上述现有Docker容器的构建和发布存在的问题,提供一种Docker容器的构建和发布的方法、装置及系统,通过事件机制,进一步降低发布过程中的人工干预过程,根据应用代码的类型等自动生成Dockerfile并生成镜像,利用Docker镜像取代传统的二进制包作为交付介质。为了实现上述目的,本专利技术采用了以下技术方案:一种Docker容器的构建和发布的方法,步骤如下:(1)通过事件机制触发自动构建镜像流程;(2)自动构建镜像,流程如下:a.拉取相应代码至工作空间;b.分析代码,获取自动创建Dockerfile所需要的代码元信息;c.根据代码元信息生成Dockerfile;d.利用Dockerfile构建镜像;(3)根据代码元信息部署到相应的容器单元。作为优选,事件机制是用户推送代码;进一步的,步骤(1)是:用户推送应用代码到代码管理仓库,捕获用户推送代码行为触发自动构建镜像流程;进一步的,步骤(2)的a中,从代码管理仓库拉取相应代码至工作空间;更进一步的,代码管理仓库是代码托管系统,通过其webhook或构建事件监听模块来实现对代码推送事件的监听。作为优选,步骤(2)的b中,代码元信息包括代码使用的语言信息、项目类型信息以及需要部署的容器空间信息。作为优选,步骤(2)的d中,镜像推送至镜像仓库;步骤(3)中,从镜像仓库拉取镜像,并根据代码元信息部署到相应的容器单元。作为优选,步骤(2)的d中,对代码进行分析的过程包括根据代码中文件的特征或者提供代码的自描述文件的方式,分析代码的语言类型信息、标准的发布方式信息、需要的环境依赖信息。作为优选,步骤(3)中的容器单元是各类容器管理平台的容器空间。一种Docker容器的构建和发布的系统,通过事件机制触发自动构建流程,自动构建流程是系统自动分析代码元信息,并根据元信息构造出适合于该应用的Dockerfile,利用Dockerfile构建Docker镜像,并将Docker镜像发布至相应的容器空间。作为优选,当用户推送代码时会触发推送事件,通过事件机制触发是当用户推送代码时,系统捕获到该事件即触发自动构建流程。一种Docker容器的构建和发布的装置,包括:代码管理模块,用于推送代码;事件监听模块,用于捕获用户推送代码的行为;代码移动模块,用于将用户推送的代码拉取至工作空间;代码分析模块,用于获取自动创建Dockerfile所需要的代码元信息;生成模块,用于根据代码元信息生成Dockerfile;镜像构建模块,用于利用Dockerfile构建Docker镜像,并推送至Docker镜像仓库;发布模块,用于拉取镜像仓库中的镜像,并根据代码元信息部署到相应的容器单元。作为优选,装置还包括用于部署镜像的容器单元。采用了上述技术方案的一种Docker容器的构建和发布的方法、装置及系统,通过事件机制,用户推送代码时即可触发自动打包发布事件,无须人工干预,也无须指定某一特定时刻进行打包发布,进一步降低在自动化构建和部署过程中的人工干预过程,提高效率;提供代码分析功能,根据应用代码的类型等自动生成Dockerfile并生成镜像,降低在应用容器中发布的接入成本;利用Docker镜像取代传统的二进制包作为交付介质,更适合于Docker容器的自动化构建和发布,更适应使用容器发布的自动化发布场景。优点是简单易用,具有很好的推广价值。附图说明图1:本专利实施例的Docker容器的构建和发布的装置的结构框图。图2:本专利实施例的Docker容器的构建和发布的方法的流程图。图3:本专利实施例中自动构建镜像的流程图。具体实施方式下面结合说明书附图和具体实施方式对本专利技术做进一步说明。技术缩略语解释。事件机制:事件机制是一种处理事情的方式和方法。传统的顺序程序设计总是按照流程来安排所做的实际,而事件机制的特点在于:等待,如果有事情发生则立刻处理之。Docker镜像:Docker镜像是Docker容器运行时的只读模板,每一个镜像由一系列的层(layers)组成。Dockerfile:它是由一些列命令和参数构成的脚本,这些命令可以让用户可以从基础镜像自定义构造出一个新的镜像,它包含了用户指定的软件依赖等。一种Docker容器的构建和发布的系统,通过事件机制触发自动构建镜像流程,具体是当用户推送代码时,系统捕获到该事件即触发自动构建流程,自动构建流程是系统自动分析代码元信息,并根据元信息构造出适合于该应用的Dockerfile,利用Dockerfile构建Docker镜像,并将Docker镜像发布至相应的容器空间。如图1所示的一种Docker容器的构建和发布的装置,包括代码管理模块1、事件监听模块2、代码移动模块3、代码分析模块4、生成模块5、镜像构建模块6、发布模块7和容器单元8。代码管理模块1,用于推送代码。事件监听模块2,用于捕获用户推送代码的行为。代码移动模块3,用于将用户推送的代本文档来自技高网
...
一种Docker容器的构建和发布的方法、装置及系统

【技术保护点】
1.一种Docker容器的构建和发布的方法,其特征在于步骤如下:(1)通过事件机制触发自动构建镜像流程;(2)自动构建镜像,流程如下:a.拉取相应代码至工作空间;b.分析代码,获取自动创建Dockerfile所需要的代码元信息;c.根据代码元信息生成Dockerfile;d.利用Dockerfile构建镜像;(3)根据代码元信息部署到相应的容器单元。

【技术特征摘要】
1.一种Docker容器的构建和发布的方法,其特征在于步骤如下:(1)通过事件机制触发自动构建镜像流程;(2)自动构建镜像,流程如下:a.拉取相应代码至工作空间;b.分析代码,获取自动创建Dockerfile所需要的代码元信息;c.根据代码元信息生成Dockerfile;d.利用Dockerfile构建镜像;(3)根据代码元信息部署到相应的容器单元。2.根据权利要求1所述的一种Docker容器的构建和发布的方法,其特征在于事件机制是用户推送代码。3.根据权利要求2所述的一种Docker容器的构建和发布的方法,其特征在于步骤(1)是:用户推送应用代码到代码管理仓库,捕获用户推送代码行为触发自动构建镜像流程。4.根据权利要求3所述的一种Docker容器的构建和发布的方法,其特征在于步骤(2)的a中,从代码管理仓库拉取相应代码至工作空间。5.根据权利要求4所述的一种Docker容器的构建和发布的方法,其特征在于代码管理仓库是代码托管系统,通过其webhook或构建事件监听模块来实现对代码推送事件的监听。6.根据权利要求1所述的一种Docker容器的构建和发布的方法,其特征在于步骤(2)的b中,代码元信息包括代码使用的语言信息、项目类型信息以及需要部署的容器空间信息。7.根据权利要求1所述的一种Docker容器的构建和发布的方法,其特征在于步骤(2)的d中,镜像推送至镜像仓库;步骤(3)中,从镜像仓库拉取镜像,并根据代码元信息部署到相应的容器单元。8.根据权利要求1所述的一种Docker容器的...

【专利技术属性】
技术研发人员:王旭琦陈昌亮谢刚吴磊
申请(专利权)人:挖财网络技术有限公司
类型:发明
国别省市:浙江,33

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

1