Docker镜像自动生成方法技术

技术编号:24034994 阅读:17 留言:0更新日期:2020-05-07 01:39
本发明专利技术公开了一种Docker镜像自动生成方法,涉及Docker镜像信息处理技术领域。本发明专利技术包括配置功能、拉取项目、编译,并打包、根据配置生成Dockerfile以及Dockerbuild生成镜像、提交DockerHub或私有库。本发明专利技术通过配置的方式实现Dockerfile的构建。开发人员可以通过可视化的界面配置方式实现Dockerfile的构建,甚至可以同步到DockerHub或者其他docker镜像库中;可以极为方便的让开发人员使用到这个系统,快速的构建出DockerFile,甚至可以将镜像直接上传到镜像库中。

Automatic generation of docker image

【技术实现步骤摘要】
Docker镜像自动生成方法
本专利技术属于Docker镜像信息处理
,特别是涉及一种Docker镜像自动生成方法。
技术介绍
随着云计算与容器技术的飞速发展与应用,国外乃至国内掀起了一股云计算与容器技术的热潮。由Google公司开源的kubernetes容器编排工具一度成为互联网中的热门,然而kubernetes主要使用的容器技术是Docker。在平时的开发或者部署服务时,需要在项目中添加dockerfile,从而根据dockerfile将打包好的服务构建成Docker镜像,然后通过kubernetes的编排文件生成容器进行管理。在编写Dockerfile是一件有门槛的事情,对于部分不懂Docker容器的开发人员来说需要时间来编写与调试。目前在Dockerfile编写方面,只有通过手动编写的方式,并没有通过配置生成image的相关项目或系统。手动编写DockerFile是比较耗费时间的,在项目的开发过程中比较期望的事情是专注于代码开发,对于类似于运营相关的事情需要高效率的完成。Dockerimage的生成是要依赖于Dockerfile,而Dockerfile目前只有依赖于手动编写,不足之处如下:(1)门槛高,编写Dockerfile需要有Docker容器知识的人员来编写,一般开发人员是不会专注于这件事的;(2)效率低,编写Dockerfile很容易出现语法或者其他错误,需要调试,效率比较低。
技术实现思路
(一)解决的技术问题本专利技术的目的在于提供一种Docker镜像自动生成方法,通过配置的方式实现Dockerfile的构建。开发人员可以通过可视化的界面配置方式实现Dockerfile的构建,甚至可以同步到DockerHub或者其他docker镜像库中,解决了现有Dockerfile编写方面,只有通过手动编写的问题。(二)技术方案为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种Docker镜像自动生成方法,包括如下步骤:步骤一,配置功能,构建存储基础镜像和DockerHub或私有库及制作Docker镜像的Docker制作系统,同时构建GitLab/GitHub地址、映射的端口;步骤二,拉取项目,在前端界面选取基础镜像,选取需要添加的组件;步骤三,编译,并打包,根据配置,判定是否需要拉取GitLab\GitHub库中的项目。若是需要,则根据配置的GitLab/GitHub地址,使用Git拉取项目,并使用maven/gradle打包;步骤四,根据配置生成Dockerfile以及Dockerbuild生成镜像,根据以上两步的配置,可生成Dockerfile文件,根据文件可生成docker镜像;步骤五,提交DockerHub或私有库,根据配置判定是否需要上传至镜像库,若需要,则上传至配置的镜像库;若不需要则提供镜像包,以供下载,完成操作。优选地,所述步骤二中基础镜像包括centos:7、java:8;添加的组件包括nginx、python。一种Docker镜像自动生成系统,包括核心模块、配置模块、Dockerhub、GitLab;所述核心模块和配置模块均与Dockerhub、GitLab进行数据交互,核心模块和配置模块与系统生产的交互界面进行数据的交互。优选地,所述核心模块根据配置信息,执行步骤顺序为:1)克隆项目;2)maven编译并打包;3)根据配置与模板生成Dockerfile,并且将DockerFile根据配置是否提交到GitLab的项目中;4)编写shell;5)生成的docker镜像,可通过shell上传到DockerHub上或者私有仓库中;6)支持默认配置。优选地,所述配置模块包括GitLab或者github地址、系统内部设置maven配置、Dockerhub或其他镜像库地址、配置端口映射、需要安装的软件、基础镜像。优选地,所述GitLab或者github地址包括用户名秘密,并可使用git拉取项目。优选地,所述maven配置用于打包生成jar格式文件包。优选地,所述Dockerhub便于生成镜像后存放。(三)有益效果与现有技术相比,本专利技术提供了一种Docker镜像自动生成方法,具备以下有益效果:本专利技术通过配置的方式实现Dockerfile的构建。开发人员可以通过可视化的界面配置方式实现Dockerfile的构建,甚至可以同步到DockerHub或者其他docker镜像库中;可以极为方便的让开发人员使用到这个系统,快速的构建出DockerFile,甚至可以将镜像直接上传到镜像库中。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的Docker镜像自动生成方法示意图;图2为本专利技术的Docker镜像自动生成系统结构示意图;图3为本专利技术的保存配置信息时序示意图;图4为本专利技术的生成镜像时序示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。实施例:请参阅图1所示,一种Docker镜像自动生成方法,包括如下步骤:步骤一,配置功能,构建存储基础镜像和DockerHub或私有库及制作Docker镜像的Docker制作系统,同时构建GitLab/GitHub地址、映射的端口;步骤二,拉取项目,在前端界面选取基础镜像,选取需要添加的组件;步骤三,编译,并打包,根据配置,判定是否需要拉取GitLab\GitHub库中的项目;若是需要,则根据配置的GitLab/GitHub地址,使用Git拉取项目,并使用maven/gradle打包;步骤四,根据配置生成Dockerfile以及Dockerbuild生成镜像,根据以上两步的配置,可生成Dockerfile文件,根据文件可生成docker镜像;步骤五,提交DockerHub或私有库,根据配置判定是否需要上传至镜像库,若需要,则上传至配置的镜像库;若不需要则提供镜像包,以供下载,完成操作。其中,步骤二中基础镜像包括centos:7、java:8;添加的组件包括nginx、python。请参阅图2所示,一种Docker镜像自动生成系统,其特征在于,包括核心模块、配置模块、Dockerhub、GitLab;本文档来自技高网...

【技术保护点】
1.一种Docker镜像自动生成方法,其特征在于,包括如下步骤:/n步骤一,配置功能,构建存储基础镜像和DockerHub或私有库及制作Docker镜像的Docker制作系统,同时构建GitLab/GitHub地址、映射的端口;/n步骤二,拉取项目,在前端界面选取基础镜像,选取需要添加的组件;/n步骤三,编译,并打包,根据配置,判定是否需要拉取GitLab\GitHub库中的项目;若是需要,则根据配置的GitLab/GitHub地址,使用Git拉取项目,并使用maven/gradle打包;/n步骤四,根据配置生成Dockerfile以及Dockerbuild生成镜像,根据以上两步的配置,可生成Dockerfile文件,根据文件可生成docker镜像;/n步骤五,提交DockerHub或私有库,根据配置判定是否需要上传至镜像库,若需要,则上传至配置的镜像库;若不需要则提供镜像包,以供下载,完成操作。/n

【技术特征摘要】
1.一种Docker镜像自动生成方法,其特征在于,包括如下步骤:
步骤一,配置功能,构建存储基础镜像和DockerHub或私有库及制作Docker镜像的Docker制作系统,同时构建GitLab/GitHub地址、映射的端口;
步骤二,拉取项目,在前端界面选取基础镜像,选取需要添加的组件;
步骤三,编译,并打包,根据配置,判定是否需要拉取GitLab\GitHub库中的项目;若是需要,则根据配置的GitLab/GitHub地址,使用Git拉取项目,并使用maven/gradle打包;
步骤四,根据配置生成Dockerfile以及Dockerbuild生成镜像,根据以上两步的配置,可生成Dockerfile文件,根据文件可生成docker镜像;
步骤五,提交DockerHub或私有库,根据配置判定是否需要上传至镜像库,若需要,则上传至配置的镜像库;若不需要则提供镜像包,以供下载,完成操作。


2.根据权利要求1所述的一种Docker镜像自动生成方法,其特征在于,所述步骤二中基础镜像包括centos:7、java:8;添加的组件包括nginx、python。


3.一种Docker镜像自动生成系统,其特征在于,包括核心模块、配置模块、Dockerhub、GitLab;所述核心模块和配置模块均与Dockerhub、GitLab进行数据...

【专利技术属性】
技术研发人员:尹立剑
申请(专利权)人:紫光云南京数字技术有限公司
类型:发明
国别省市:江苏;32

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

1