CN106933635A - Docker镜像生成方法及Docker容器 - Google Patents
Docker镜像生成方法及Docker容器 Download PDFInfo
- Publication number
- CN106933635A CN106933635A CN201710154780.9A CN201710154780A CN106933635A CN 106933635 A CN106933635 A CN 106933635A CN 201710154780 A CN201710154780 A CN 201710154780A CN 106933635 A CN106933635 A CN 106933635A
- Authority
- CN
- China
- Prior art keywords
- code
- docker
- mirror images
- information
- mirror image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种Docker镜像生成方法及Docker容器,从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;根据所述代码下载地址,下载应用程序代码;执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。本发明的Docker镜像生成方案中,代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖持续集成工具,避免了复杂的工具配置过程,同时能够适应更广泛的使用需求,从而提高了Docker镜像的生成效率,进而提高了应用开发效率。
Description
技术领域
本发明涉及计算机技术领域,更具体的说,涉及Docker镜像生成方法及Docker容器。
背景技术
Docker是一个开放源代码软件项目,让应用程序部署在软件容器下的工作可以自动化进行。在应用开发过程中,需要持续不断地执行开发、部署、测试的过程,而将代码编译打包成Docker镜像是应用部署、发布、运维管理的基础。因此,Docker镜像的生成效率极大地影响着应用的开发效率。
目前的Docker镜像生成方案大都依赖于已有的持续集成工具,而这些持续集成工具本身存在着使用上的局限性,对代码编译过程的支持性较差;并且,针对定制化的镜像构建需求,还需要在持续集成工具上进行相应的配置调整,使得Docker镜像的生成过程极为复杂,从而降低了Docker镜像的生成效率,进而严重地影响着应用的开发效率。
所以,目前迫切需要一种能够便捷、高效地生成Docker镜像的技术方案。
发明内容
有鉴于此,本发明提供了一种Docker镜像生成方法及Docker容器,以解决目前Docker镜像生成方案过程复杂、效率较低的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种Docker镜像生成方法,应用于Docker容器,所述方法包括:
从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
根据所述代码下载地址,下载应用程序代码;
执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。
优选的,在所述生成Docker镜像之后,所述方法还包括:
从所述启动参数中,确定镜像仓库信息;
根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
优选的,在所述生成Docker镜像之后,所述方法还包括:
生成所述Docker镜像的任务结果信息;
将所述任务结果信息发送至服务器。
优选的,所述Docker容器是由服务端在接收到GitLab发送的携带有触发信息的POST请求,并在数据库中的配置信息中查询到所述触发信息后,根据预设在配置信息中的启动参数启动的。
优选的,所述代码下载地址为所述应用程序代码在GitLab中的位置。
优选的,所述启动参数包括:代码下载地址、代码下载密钥、代码分支信息、代码标签信息、基础镜像信息、代码编译指令、镜像仓库信息、镜像名称、镜像版本号和Dockerfile文件信息。
优选的,所述触发信息包括:推送事件Push events、标签事件Tag events、发布事件Issues events、注释事件Comment events和合并请求事件Merge request events。
一种Docker容器,包括:
信息确定单元,用于从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
代码下载单元,用于根据所述代码下载地址,下载应用程序代码;
代码编译单元,用于执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
镜像生成单元,根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。
优选的,所述Docker容器还包括:镜像上传单元;
所述信息确定单元,还用于在所述生成Docker镜像之后,确定镜像仓库信息;
所述镜像上传单元,用于根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
优选的,所述Docker容器还包括:结果生成单元和结果发送单元;
所述结果生成单元,用于生成所述Docker镜像的任务结果信息;
所述结果发送单元,用于将所述任务结果信息发送至服务器。
从上述的技术方案可以看出,本发明提供的Docker镜像生成方法及Docker容器,从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件,使代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖其他持续集成工具,避免了复杂的工具配置过程,同时能够适应更广泛的使用需求,从而提高了Docker镜像的生成效率,进而提高了应用开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的Docker镜像生成方法的一种流程图;
图2为本申请实施例提供的Docker镜像生成方法的另一种流程图;
图3为本申请实施例提供的Docker镜像生成方法的又一种流程图;
图4为本申请实施例提供的Docker容器的一种结构示意图;
图5为本申请实施例提供的Docker容器的另一种结构示意图;
图6为本申请实施例提供的Docker容器的又一种结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
GitLab:Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,GitLab是一个利用Ruby on Rails开发的开源应用程序,其实现了一个自托管的Git项目仓库(即GitLab),使用者可通过Web界面来对GitLab的公开项目或者私人项目进行访问。
Docker:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker镜像(Docker image):是根据Docker规定的格式生成的只读文件包,可以将应用封装在该Docker镜像中,分发到不同的主机上,通过Docker镜像启动软件容器,运行服务。
镜像仓库(Docker registry):Docker镜像的集中存放仓库,不同主机可以从该仓库中下载Docker镜像。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本申请实施例提供的Docker镜像生成方法的一种流程图。
如图1所示,所述方法包括:
S101:从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
Docker容器的启动参数是由用户预先配置好的,可以根据不同的具体需求进行灵活配置。
在本实施例中,Docker容器的启动参数中包括生成Docker镜像所需的代码下载地址、代码编译指令与Dockerfile文件信息等,所以,从该启动参数中,能够直接确定出生成Docker镜像所需的确定代码下载地址、代码编译指令与Dockerfile文件。
在一示例中,所述Docker容器是由服务端在接收到GitLab发送的携带有触发信息的POST请求,并在数据库中的配置信息中查询到所述触发信息后,根据预设在配置信息中的启动参数启动的。
配置信息是生成Docker镜像的基础,是由用户在数据库中配置的,具体可以根据实际需求进行灵活配置。配置信息包括触发信息和启动参数。
在GitLab中,当一个工程的webhook被事件触发时,GitLab会向webhook中配置的URL地址发送携带有触发信息的POST请求,服务端在接收到GitLab发送的携带有触发信息的POST请求后,会在数据库中的配置信息中查找该POST请求携带的触发信息,若在配置信息中找到相应的触发信息,则根据配置信息中的启动参数启动一个相应的Docker容器。
其中,在配置信息中查找POST请求携带的触发信息,是为了通过配置信息中的触发信息来对POST请求携带的触发信息进行匹配,以验证该POST请求是否能够触发Docker容器的启动。当在配置信息中查找到POST请求携带的触发信息时,表明该POST请求能够触发Docker容器的启动;当在配置信息中未查找到POST请求携带的触发信息时,表明该POST请求不能触发Docker容器的启动。
在一示例中,触发信息包括:推送事件(Push events)、标签事件(Tag events)、发布事件(Issues events)、注释事件(Comment events)和合并请求事件(Merge requestevents)。
当用户向GitLab推送内容(不包括标签Tag)时,触发推送事件(Push events);当用户在GitLab中创建或删除标签时,触发标签事件(Tag events);当用户创建新的发布,或者,现有发布被更新、关闭或重新打开时,触发发布事件(Issues events);当用户在创建新的注释时,触发注释事件(Comment events);当用户在创建新的合并请求时,触发合并请求事件(Merge request events)。
例如,在GitLab中,当一个工程的webhook被推送事件Push events触发时,GitLab会向webhook中配置的URL地址发送携带有“推送事件Push events”这一触发信息的POST请求,服务端在接收到GitLab发送的携带有“推送事件Push events”这一触发信息的POST请求后,会在数据库中的配置信息中查找“推送事件Push events”,若在配置信息中找到“推送事件Push events”,则根据配置信息中的启动参数启动相应的Docker容器。
S102:根据所述代码下载地址,下载应用程序代码;
代码下载地址用于表征GitLab中的路径信息,在该路径下,存储有Docker容器生成Docker镜像所需的应用程序代码。所以,该代码下载地址具体可以为所述应用程序代码在GitLab中的位置。
Docker容器根据所述代码下载地址,下载应用程序代码,使应用程序代码被保存到Docker容器中,Docker容器能够直接对该应用程序代码执行处理,无需依赖于现有的持续集成工具通过关联GitLab的方式来对应用程序代码进行处理,提高了应用程序代码的处理效率,同时也不会对GitLab中保存的应用程序代码进行修改,保证了GitLab中应用程序代码的安全性。
在一示例中,为了进一步保证GitLab中应用程序代码的安全性,还可以为GitLab配置代码下载密钥(deploy key),并保存在数据库的配置信息中,作为Docker容器的启动参数的内容之一。
该示例中,所述方法还包括:从Docker容器的启动参数中,确定代码下载密钥。步骤S102具体包括:利用所述代码下载密钥,从所述代码下载地址下载应用程序代码。
本示例技术方案在根据代码下载地址,下载应用程序代码的过程中,增加了验证代码下载密钥的过程,进一步提高了GitLab中应用程序代码的安全性。
S103:执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
代码编译指令是由用户预先配置在Docker容器的启动参数中的,该启动参数作为配置信息的一部分被保存在数据库中,Docker容器从其启动参数中能够直接确定得到编译所述应用程序代码所需的代码编译指令。
在一示例中,Docker容器在执行代码编译指令后,可以启动相应的编译容器来执行整个编译过程。编译容器是用户根据编译需求预先定制的,不同的编译容器包括不同的编译器。编译结果文件最终保存在Docker容器中。
Docker容器在确定代码编译指令后,通过执行代码编译指令,以实现对应用程序代码的编译,无需依赖于现有的持续集成工具来对应用程序代码进行编译,也就无需受到持续集成工具中的编译器版本差异的限制,从而提高了应用程序代码的编译效率。
S104:根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像;
Docker容器在得到编译结果文件后,便可以根据预先配置在启动参数中的Dockerfile文件,生成相应的Docker镜像。
在一示例中,Docker容器根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像的步骤可以是通过执行docker build指令来实现的。
Docker容器基于Dockerfile文件来生成Docker镜像,能够记录Docker镜像的整个生成过程,并且,Dockerfile文件可以重复使用,从而更适合于团队协作开发的环境。
在本实施例中,启动参数中除了包括代码下载地址、代码编译指令和Dockerfile文件信息外,还可以包括代码下载密钥、代码分支信息、代码标签信息、基础镜像信息、镜像仓库信息、镜像名称和镜像版本号等。启动参数作为数据库中配置信息的一部分,同样是由用户根据具体需求预先在数据库中配置好的。
其中,除了前述已经介绍过的代码下载地址、代码编译指令和Dockerfile文件信息以及代码下载密钥外,代码分支信息用于指示应用程序代码的分支;代码标签信息用于指示应用程序代码的标签;基础镜像信息用于指示生成Docker镜像所需的基础镜像;镜像仓库信息用于指示生成的Docker镜像所要存放到的镜像仓库;镜像名称用于指示生成的Docker镜像的名称;镜像版本号用于指示生成的Docker镜像的版本号。
例如,从启动参数中,根据Dockerfile文件信息,能够直接确定出Docker容器生成Docker镜像所需的Dockerfile文件,进而根据确定出的Dockerfile文件,生成Docker镜像。
本实施例提供的Docker镜像生成方法,从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;根据所述代码下载地址,下载应用程序代码;执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像,使代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖其他持续集成工具,避免了复杂的工具配置过程,同时能够适应更广泛的使用需求,从而提高了Docker镜像的生成效率,进而提高了应用开发效率。
在实际应用中,用户通常是从镜像仓库下载所需的Docker镜像,针对于此,本发明还提供了以下实施例。
请参阅图2,图2为本申请实施例提供的Docker镜像生成方法的另一种流程图。
本实施例中,步骤S201-S204与前述实施例中步骤S101-S104相类似,在此不再赘述。
如图2所示,所述方法还包括:
S205:从所述启动参数中,确定镜像仓库信息;
镜像仓库信息用于指示生成的Docker镜像所要存放到的镜像仓库。
S206:根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
本实施提供的Docker镜像生成方法,将生成的Docker镜像上传至相应的镜像仓库,以便于Docker镜像的集中管理,以及使用户通过主机能够从镜像仓库下载该Docker镜像。
在实际应用中,Docker容器在生成Docker镜像的过程中,有可能会出现由于各种问题而导致无法顺利生成Docker镜像的情况,针对于此,本发明还提供了以下实施例。
请参阅图3,图3为本申请实施例提供的Docker镜像生成方法的又一种流程图。
本实施例中,步骤S301-S306与前述实施例中步骤S201-S206相类似,在此不再赘述。
S307:生成所述Docker镜像的任务结果信息;
任务结果信息可以包括记录着生成成功或生成失败的指示信息,也可以包括Docker镜像生成失败的失败原因,还可以包括Docker容器所执行的步骤S301-S306中每一步骤的执行结果。其中,失败原因可以采用故障代码的方式来体现。
步骤S301-S306中任何一个步骤执行失败后,直接跳转至执行步骤S307。
其中,失败原因和每一步骤的执行结果,能够帮助用户快速定位问题出处,便于更高效地解决问题,进一步保证Docker镜像生成效率。
S308:将所述任务结果信息发送至服务器。
在一示例中,Docker容器通过HTTP请求将任务结果信息发送至服务器。
在其他示例中,Docker容器也可以采取其他方式将任务结果信息发送至服务器,在此不做限定。
本实施例提供的Docker镜像生成方法,在Docker容器生成Docker镜像的最后阶段,生成任务结果信息,并将任务结果信息发送至服务器,以便于用户了解Docker镜像的生成情况,提高Docker镜像生成效率。
对应于Docker镜像生成方法,本发明实施例还提供了相应的Docker容器。
请参阅图4,图4为本申请实施例的Docker容器的一种结构示意图。
本实施例的Docker容器,用于实施前述实施例的Docker镜像生成方法,如图4所示,所述Docker容器包括:
信息确定单元U101,用于从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
Docker容器的启动参数是由用户预先配置好的,可以根据不同的具体需求进行灵活配置。
在本实施例中,Docker容器的启动参数中包括生成Docker镜像所需的代码下载地址、代码编译指令与Dockerfile文件信息等,所以,信息确定单元U101从该启动参数中,能够直接确定出生成Docker镜像所需的确定代码下载地址、代码编译指令与Dockerfile文件。
在一示例中,所述Docker容器是由服务端在接收到GitLab发送的携带有触发信息的POST请求,并在数据库中的配置信息中查询到所述触发信息后,根据预设在配置信息中的启动参数启动的。
代码下载单元U102,用于根据所述代码下载地址,下载应用程序代码;
代码下载地址用于表征GitLab中的路径信息,在该路径下,存储有Docker容器生成Docker镜像所需的应用程序代码。所以,该代码下载地址具体可以为所述应用程序代码在GitLab中的位置。
代码下载单元U102根据所述代码下载地址,下载应用程序代码,使应用程序代码被保存到Docker容器中,Docker容器能够直接对该应用程序代码执行处理,无需依赖于现有的持续集成工具通过关联GitLab的方式来对应用程序代码进行处理,提高了应用程序代码的处理效率,同时也不会对GitLab中保存的应用程序代码进行修改,保证了GitLab中应用程序代码的安全性。
在一示例中,为了进一步保证GitLab中应用程序代码的安全性,还可以为GitLab配置代码下载密钥(deploy key),并保存在数据库的配置信息中,作为Docker容器的启动参数之一。
该示例中,信息确定单元U101还用于从Docker容器的启动参数中,确定代码下载密钥。代码下载单元U102具体用于利用代码下载密钥,从代码下载地址下载应用程序代码。
本示例技术方案在根据代码下载地址,下载应用程序代码的过程中,增加了验证代码下载密钥的过程,进一步提高了GitLab中应用程序代码的安全性。
代码编译单元U103,用于执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
代码编译指令是由用户预先配置在Docker容器的启动参数中的,该启动参数作为配置信息的一部分被保存在数据库中,代码编译单元U103从Docker容器的启动参数中能够直接确定得到编译该应用程序代码所需的代码编译指令。
Docker容器在确定代码编译指令后,通过执行代码编译指令,以实现对应用程序代码的编译,无需依赖于现有的持续集成工具来对应用程序代码进行编译,也就无需受到持续集成工具中的编译器版本差异的限制,从而提高了应用程序代码的编译效率。
镜像生成单元U104,根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。
Docker容器在得到编译结果文件后,便可以由镜像生成单元U104根据预先配置在启动参数中的Dockerfile文件,生成相应的Docker镜像。
在一示例中,镜像生成单元U104根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像可以是通过执行docker build指令来实现的。
镜像生成单元U104基于Dockerfile文件来生成Docker镜像,能够使得Docker容器能够记录Docker镜像的整个生成过程,并且,Dockerfile文件可以重复使用,从而更适合于团队协作开发的环境。
本实施例提供的Docker容器,从其启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;根据所述代码下载地址,下载应用程序代码;执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像,使代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖其他持续集成工具,避免了复杂的工具配置过程,同时能够适应更广泛的使用需求,从而提高了Docker镜像的生成效率,进而提高了应用开发效率。
在实际应用中,用户通常是从镜像仓库下载所需的Docker镜像,针对于此,本发明还提供了以下实施例。
请参阅图5,图5为本申请实施例的Docker容器的另一种结构示意图。
本实施例的Docker容器,用于实施前述实施例的Docker镜像生成方法,如图5所示,该Docker容器除了包括信息确定单元U101、代码下载单元U102、代码编译单元U103和镜像生成单元U104之外,还包括:镜像上传单元U105。
信息确定单元U101,还用于在所述生成Docker镜像之后,确定镜像仓库信息;
镜像仓库信息用于指示生成的Docker镜像所要存放到的镜像仓库。
镜像上传单元U105,用于根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
本实施提供的Docker容器,将生成的Docker镜像上传至相应的镜像仓库,以便于Docker镜像的集中管理,以及使用户通过主机能够从镜像仓库下载该Docker镜像。
在实际应用中,Docker容器在生成Docker镜像的过程中,有可能会出现由于各种问题而导致无法顺利生成Docker镜像的情况,针对于此,本发明还提供了以下实施例。
请参阅图6,图6为本申请实施例的Docker容器的又一种结构示意图。
本实施例的Docker容器,用于实施前述实施例的Docker镜像生成方法,如图6所示,所述Docker容器除了包括信息确定单元U101、代码下载单元U102、代码编译单元U103、镜像生成单元U104和镜像上传单元U105之外,还包括:结果生成单元U106和结果发送单元U107。
结果生成单元U106,用于生成所述Docker镜像的任务结果信息;
任务结果信息可以包括记录着生成成功或生成失败的指示信息,也可以包括Docker镜像生成失败的失败原因,还可以包括信息确定单元U101、代码下载单元U102、代码编译单元U103、镜像生成单元U104和镜像上传单元U105中每一单元的执行结果。其中,失败原因可以采用故障代码的方式来体现。
信息确定单元U101、代码下载单元U102、代码编译单元U103、镜像生成单元U104和镜像上传单元U105中任何一个单元执行失败后,结果生成单元U106都会生成相应的任务结果信息。
其中,失败原因和每一个单元的执行结果,都有助于用户快速定位问题出处,便于更高效地解决问题,进一步提高Docker镜像生成效率。
所述结果发送单元U107,用于将所述任务结果信息发送至服务器。
在一示例中,结果发送单元U107,具体用于通过HTTP请求将任务结果信息发送至服务器。
在其他示例中,结果发送单元U107也可以采取其他方式将任务结果信息发送至服务器,在此不做限定。
本实施例提供的Docker镜像生成方法,在Docker容器生成Docker镜像的最后阶段,生成任务结果信息,并将任务结果信息发送至服务器,以便于用户了解Docker镜像的生成情况,提高Docker镜像生成效率。
本发明提供的Docker镜像生成方法及Docker容器,从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;根据所述代码下载地址,下载应用程序代码;执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像,使代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖其他持续集成工具,避免了复杂的工具配置过程,同时能够适应更广泛的使用需求,从而提高了Docker镜像的生成效率,进而提高了应用开发效率。
并且,由于代码下载、代码编译以及镜像生成过程均在Docker容器内执行,无需依赖其他持续集成工具,所以使得Docker镜像生成过程具有良好的资源隔离效果与过程隔离效果,更适应于企业级团队协作的场景。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种Docker镜像生成方法,其特征在于,应用于Docker容器,所述方法包括:
从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
根据所述代码下载地址,下载应用程序代码;
执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。
2.如权利要求1所述的方法,其特征在于,在所述生成Docker镜像之后,所述方法还包括:
从所述启动参数中,确定镜像仓库信息;
根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
3.如权利要求2所述的方法,其特征在于,在所述生成Docker镜像之后,所述方法还包括:
生成所述Docker镜像的任务结果信息;
将所述任务结果信息发送至服务器。
4.如权利要求1所述的方法,其特征在于,所述Docker容器是由服务端在接收到GitLab发送的携带有触发信息的POST请求,并在数据库中的配置信息中查询到所述触发信息后,根据预设在配置信息中的启动参数启动的。
5.如权利要求1所述的方法,其特征在于,所述代码下载地址为所述应用程序代码在GitLab中的位置。
6.如权利要求1所述的方法,其特征在于,所述启动参数包括:代码下载地址、代码下载密钥、代码分支信息、代码标签信息、基础镜像信息、代码编译指令、镜像仓库信息、镜像名称、镜像版本号和Dockerfile文件信息。
7.如权利要求4所述的方法,其特征在于,所述触发信息包括:推送事件Push events、标签事件Tag events、发布事件Issues events、注释事件Comment events和合并请求事件Merge request events。
8.一种Docker容器,其特征在于,包括:
信息确定单元,用于从Docker容器的启动参数中,确定代码下载地址、代码编译指令与Dockerfile文件;
代码下载单元,用于根据所述代码下载地址,下载应用程序代码;
代码编译单元,用于执行所述代码编译指令,所述代码编译指令用于编译所述应用程序代码并生成编译结果文件;
镜像生成单元,根据所述Dockerfile文件与所述编译结果文件,生成Docker镜像。
9.如权利要求8所述的Docker容器,其特征在于,还包括:镜像上传单元;
所述信息确定单元,还用于在所述生成Docker镜像之后,确定镜像仓库信息;
所述镜像上传单元,用于根据所述镜像仓库信息,将所述Docker镜像上传至相应的镜像仓库。
10.如权利要求9所述的Docker容器,其特征在于,还包括:结果生成单元和结果发送单元;
所述结果生成单元,用于生成所述Docker镜像的任务结果信息;
所述结果发送单元,用于将所述任务结果信息发送至服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710154780.9A CN106933635B (zh) | 2017-03-15 | 2017-03-15 | Docker镜像生成方法及Docker容器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710154780.9A CN106933635B (zh) | 2017-03-15 | 2017-03-15 | Docker镜像生成方法及Docker容器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933635A true CN106933635A (zh) | 2017-07-07 |
CN106933635B CN106933635B (zh) | 2020-06-30 |
Family
ID=59432910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710154780.9A Active CN106933635B (zh) | 2017-03-15 | 2017-03-15 | Docker镜像生成方法及Docker容器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933635B (zh) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463432A (zh) * | 2017-08-17 | 2017-12-12 | 福建中金在线信息科技有限公司 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
CN107480524A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种安全沙箱及其构建方法 |
CN107491329A (zh) * | 2017-08-04 | 2017-12-19 | 上海携程商务有限公司 | Docker镜像构建方法、设备、存储介质以及电子装置 |
CN107562431A (zh) * | 2017-09-25 | 2018-01-09 | 山东浪潮商用系统有限公司 | 一种终端系统的部署方法及装置 |
CN107566493A (zh) * | 2017-09-06 | 2018-01-09 | 中国科学院信息工程研究所 | 一种面向复杂用户需求的代理节点创建方法、代理服务方法和系统 |
CN107577475A (zh) * | 2017-08-22 | 2018-01-12 | 清华大学 | 一种数据中心集群系统的软件包管理方法及系统 |
CN107678756A (zh) * | 2017-09-29 | 2018-02-09 | 千寻位置网络有限公司 | 一种基于Docker的Web应用一键发布方法 |
CN107729120A (zh) * | 2017-09-29 | 2018-02-23 | 中国石油化工股份有限公司 | 勘探开发软件的容器镜像制作方法 |
CN108196915A (zh) * | 2018-02-06 | 2018-06-22 | 杭州朗和科技有限公司 | 基于应用容器引擎的代码处理方法、设备及存储介质 |
CN108268308A (zh) * | 2018-01-22 | 2018-07-10 | 广州欧赛斯信息科技有限公司 | 一种基于容器平台的持续集成方法、系统及装置 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
CN108897527A (zh) * | 2018-05-21 | 2018-11-27 | 东莞理工学院 | 一种云计算中遥感图像处理的Docker镜像自动化动态构建方法 |
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
CN109286604A (zh) * | 2017-07-21 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 实现容器服务的方法、装置以及电子设备 |
CN109491662A (zh) * | 2018-10-31 | 2019-03-19 | 珠海市筑巢科技有限公司 | 代码打包方法、计算机装置及计算机可读存储介质、代码打包系统 |
CN109508178A (zh) * | 2018-09-27 | 2019-03-22 | 咪咕文化科技有限公司 | 一种程序开发方法及装置 |
CN109614341A (zh) * | 2018-12-29 | 2019-04-12 | 微梦创科网络科技(中国)有限公司 | 一种代码覆盖率的测试方法及系统 |
CN109683908A (zh) * | 2017-08-28 | 2019-04-26 | 北京恒华伟业科技股份有限公司 | 一种应用发布方法及装置 |
CN109814889A (zh) * | 2019-01-30 | 2019-05-28 | 北京百度网讯科技有限公司 | 用于更新源代码库的方法和装置 |
WO2019127971A1 (zh) * | 2017-12-29 | 2019-07-04 | 平安科技(深圳)有限公司 | 镜像仓库的镜像同步方法、系统、设备及存储介质 |
CN110058863A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | Docker容器的构建方法、装置、设备及存储介质 |
CN110399134A (zh) * | 2019-06-28 | 2019-11-01 | 绿漫科技有限公司 | 一种基于容器的快速部署方法及系统 |
CN110457115A (zh) * | 2019-07-26 | 2019-11-15 | 武汉中海庭数据技术有限公司 | 一种基于Docker的KHB业务发布方法、装置及存储介质 |
CN110968340A (zh) * | 2018-09-29 | 2020-04-07 | 京东数字科技控股有限公司 | 一种实现多版本依赖隔离的方法和装置 |
CN111104113A (zh) * | 2019-12-04 | 2020-05-05 | 紫光云(南京)数字技术有限公司 | Docker镜像自动生成方法 |
CN111309451A (zh) * | 2020-03-24 | 2020-06-19 | 广西梯度科技有限公司 | 一种实现Docker镜像交叉编译的方法 |
CN111381829A (zh) * | 2020-03-06 | 2020-07-07 | 北京达佳互联信息技术有限公司 | 在线编程方法、装置、电子设备和存储介质 |
CN111459509A (zh) * | 2020-03-27 | 2020-07-28 | 北京金山云网络技术有限公司 | 容器镜像的构建方法、装置和服务器 |
CN111736850A (zh) * | 2020-07-21 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
CN112306843A (zh) * | 2019-07-29 | 2021-02-02 | 北京中关村科金技术有限公司 | 一种测试方法、装置以及存储介质 |
CN112486495A (zh) * | 2020-11-23 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种工业视觉算法部署方法、系统及存储介质 |
CN113127136A (zh) * | 2019-12-30 | 2021-07-16 | 北京懿医云科技有限公司 | Docker镜像生成方法及装置、存储介质、电子设备 |
CN113360160A (zh) * | 2020-03-05 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 部署应用的方法、装置、电子设备和存储介质 |
CN113805858A (zh) * | 2021-02-10 | 2021-12-17 | 京东科技控股股份有限公司 | 持续部署脚本语言开发的软件的方法和装置 |
US11969894B2 (en) | 2021-06-21 | 2024-04-30 | Electronics And Telecommunications Research Institute | Apparatus for automated communication between robot and artificial intelligence service and method using the same |
US12121807B2 (en) | 2020-07-21 | 2024-10-22 | Tencent Technology (Shenzhen) Company Limited | Image processing method using a shared GPU shader cache mechanism and apparatus, server, and medium |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187500A (zh) * | 2015-08-07 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于容器的分布式存储系统部署方法 |
CN105224466A (zh) * | 2015-11-17 | 2016-01-06 | 广州亦云信息技术有限公司 | 一种基于Docker的集成测试方法及系统 |
CN105653449A (zh) * | 2015-12-28 | 2016-06-08 | 湖南蚁坊软件有限公司 | 一种基于容器虚拟化的持续集成方法 |
EP3037964A1 (en) * | 2014-12-22 | 2016-06-29 | Rovio Entertainment Ltd | Virtual application manager in a cloud computing environment |
CN105824614A (zh) * | 2015-12-15 | 2016-08-03 | 广东亿迅科技有限公司 | 基于Docker的分布式开发环境的搭建方法及装置 |
CN105867955A (zh) * | 2015-09-18 | 2016-08-17 | 乐视云计算有限公司 | 一种应用程序部署系统及部署方法 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
CN106095523A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现安卓编译隔离的方法和系统 |
CN106161104A (zh) * | 2016-08-22 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法 |
US20160350105A1 (en) * | 2015-05-27 | 2016-12-01 | Runnable Inc. | Automatic communications graphing for a source application |
WO2016195562A1 (en) * | 2015-06-03 | 2016-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Allocating or announcing availability of a software container |
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106293875A (zh) * | 2016-08-04 | 2017-01-04 | 中国联合网络通信集团有限公司 | 一种Docker容器的创建方法和创建系统 |
US20170034023A1 (en) * | 2015-07-27 | 2017-02-02 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
CN106383852A (zh) * | 2016-08-30 | 2017-02-08 | 中国民生银行股份有限公司 | 基于Docker容器的日志获取方法和装置 |
-
2017
- 2017-03-15 CN CN201710154780.9A patent/CN106933635B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3037964A1 (en) * | 2014-12-22 | 2016-06-29 | Rovio Entertainment Ltd | Virtual application manager in a cloud computing environment |
US20160350105A1 (en) * | 2015-05-27 | 2016-12-01 | Runnable Inc. | Automatic communications graphing for a source application |
WO2016195562A1 (en) * | 2015-06-03 | 2016-12-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Allocating or announcing availability of a software container |
US20170034023A1 (en) * | 2015-07-27 | 2017-02-02 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
CN105187500A (zh) * | 2015-08-07 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于容器的分布式存储系统部署方法 |
CN105867955A (zh) * | 2015-09-18 | 2016-08-17 | 乐视云计算有限公司 | 一种应用程序部署系统及部署方法 |
CN105224466A (zh) * | 2015-11-17 | 2016-01-06 | 广州亦云信息技术有限公司 | 一种基于Docker的集成测试方法及系统 |
CN105824614A (zh) * | 2015-12-15 | 2016-08-03 | 广东亿迅科技有限公司 | 基于Docker的分布式开发环境的搭建方法及装置 |
CN105653449A (zh) * | 2015-12-28 | 2016-06-08 | 湖南蚁坊软件有限公司 | 一种基于容器虚拟化的持续集成方法 |
CN106095523A (zh) * | 2016-06-03 | 2016-11-09 | 北京奇虎科技有限公司 | 一种实现安卓编译隔离的方法和系统 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106293875A (zh) * | 2016-08-04 | 2017-01-04 | 中国联合网络通信集团有限公司 | 一种Docker容器的创建方法和创建系统 |
CN106161104A (zh) * | 2016-08-22 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法 |
CN106383852A (zh) * | 2016-08-30 | 2017-02-08 | 中国民生银行股份有限公司 | 基于Docker容器的日志获取方法和装置 |
Non-Patent Citations (2)
Title |
---|
FRANKIEE: "docker使用现有容器生成新的镜像", 《HTTPS://WWW.CNBLOGS.COM/FRANKIELF0921/P/5817928.HTML》 * |
刘琳羽;南凯: "一种基于Docker的开发者服务平台设计", 《科研信息化技术与应用》 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286604A (zh) * | 2017-07-21 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 实现容器服务的方法、装置以及电子设备 |
CN109286604B (zh) * | 2017-07-21 | 2022-01-07 | 阿里巴巴集团控股有限公司 | 实现容器服务的方法、装置以及电子设备 |
CN107491329A (zh) * | 2017-08-04 | 2017-12-19 | 上海携程商务有限公司 | Docker镜像构建方法、设备、存储介质以及电子装置 |
CN107491329B (zh) * | 2017-08-04 | 2021-03-16 | 上海携程商务有限公司 | Docker镜像构建方法、设备、存储介质以及电子装置 |
CN107463432A (zh) * | 2017-08-17 | 2017-12-12 | 福建中金在线信息科技有限公司 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
CN107480524A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种安全沙箱及其构建方法 |
CN107577475A (zh) * | 2017-08-22 | 2018-01-12 | 清华大学 | 一种数据中心集群系统的软件包管理方法及系统 |
CN107577475B (zh) * | 2017-08-22 | 2020-02-07 | 清华大学 | 一种数据中心集群系统的软件包管理方法及系统 |
CN109683908A (zh) * | 2017-08-28 | 2019-04-26 | 北京恒华伟业科技股份有限公司 | 一种应用发布方法及装置 |
CN107566493A (zh) * | 2017-09-06 | 2018-01-09 | 中国科学院信息工程研究所 | 一种面向复杂用户需求的代理节点创建方法、代理服务方法和系统 |
CN107562431A (zh) * | 2017-09-25 | 2018-01-09 | 山东浪潮商用系统有限公司 | 一种终端系统的部署方法及装置 |
CN107729120B (zh) * | 2017-09-29 | 2021-07-20 | 中国石油化工股份有限公司 | 勘探开发软件的容器镜像制作方法 |
CN107729120A (zh) * | 2017-09-29 | 2018-02-23 | 中国石油化工股份有限公司 | 勘探开发软件的容器镜像制作方法 |
CN107678756A (zh) * | 2017-09-29 | 2018-02-09 | 千寻位置网络有限公司 | 一种基于Docker的Web应用一键发布方法 |
WO2019127971A1 (zh) * | 2017-12-29 | 2019-07-04 | 平安科技(深圳)有限公司 | 镜像仓库的镜像同步方法、系统、设备及存储介质 |
CN108268308A (zh) * | 2018-01-22 | 2018-07-10 | 广州欧赛斯信息科技有限公司 | 一种基于容器平台的持续集成方法、系统及装置 |
CN108196915B (zh) * | 2018-02-06 | 2022-08-23 | 杭州朗和科技有限公司 | 基于应用容器引擎的代码处理方法、设备及存储介质 |
CN108196915A (zh) * | 2018-02-06 | 2018-06-22 | 杭州朗和科技有限公司 | 基于应用容器引擎的代码处理方法、设备及存储介质 |
CN108563451A (zh) * | 2018-02-26 | 2018-09-21 | 挖财网络技术有限公司 | 一种Docker容器的构建和发布的方法、装置及系统 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN108897527B (zh) * | 2018-05-21 | 2022-04-15 | 东莞理工学院 | 一种云计算中遥感图像处理的Docker镜像自动化动态构建方法 |
CN108897527A (zh) * | 2018-05-21 | 2018-11-27 | 东莞理工学院 | 一种云计算中遥感图像处理的Docker镜像自动化动态构建方法 |
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
CN108984179B (zh) * | 2018-06-28 | 2022-08-02 | 奇安信科技集团股份有限公司 | 一种Linux下编译处理方法及装置 |
CN109508178A (zh) * | 2018-09-27 | 2019-03-22 | 咪咕文化科技有限公司 | 一种程序开发方法及装置 |
CN110968340A (zh) * | 2018-09-29 | 2020-04-07 | 京东数字科技控股有限公司 | 一种实现多版本依赖隔离的方法和装置 |
CN109491662A (zh) * | 2018-10-31 | 2019-03-19 | 珠海市筑巢科技有限公司 | 代码打包方法、计算机装置及计算机可读存储介质、代码打包系统 |
CN109614341A (zh) * | 2018-12-29 | 2019-04-12 | 微梦创科网络科技(中国)有限公司 | 一种代码覆盖率的测试方法及系统 |
CN109814889A (zh) * | 2019-01-30 | 2019-05-28 | 北京百度网讯科技有限公司 | 用于更新源代码库的方法和装置 |
CN110058863A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | Docker容器的构建方法、装置、设备及存储介质 |
CN110399134A (zh) * | 2019-06-28 | 2019-11-01 | 绿漫科技有限公司 | 一种基于容器的快速部署方法及系统 |
CN110457115A (zh) * | 2019-07-26 | 2019-11-15 | 武汉中海庭数据技术有限公司 | 一种基于Docker的KHB业务发布方法、装置及存储介质 |
CN112306843A (zh) * | 2019-07-29 | 2021-02-02 | 北京中关村科金技术有限公司 | 一种测试方法、装置以及存储介质 |
CN111104113A (zh) * | 2019-12-04 | 2020-05-05 | 紫光云(南京)数字技术有限公司 | Docker镜像自动生成方法 |
CN113127136B (zh) * | 2019-12-30 | 2023-12-12 | 北京懿医云科技有限公司 | Docker镜像生成方法及装置、存储介质、电子设备 |
CN113127136A (zh) * | 2019-12-30 | 2021-07-16 | 北京懿医云科技有限公司 | Docker镜像生成方法及装置、存储介质、电子设备 |
CN113360160A (zh) * | 2020-03-05 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 部署应用的方法、装置、电子设备和存储介质 |
CN111381829A (zh) * | 2020-03-06 | 2020-07-07 | 北京达佳互联信息技术有限公司 | 在线编程方法、装置、电子设备和存储介质 |
CN111309451B (zh) * | 2020-03-24 | 2023-07-14 | 广西梯度科技股份有限公司 | 一种实现Docker镜像交叉编译的方法 |
CN111309451A (zh) * | 2020-03-24 | 2020-06-19 | 广西梯度科技有限公司 | 一种实现Docker镜像交叉编译的方法 |
CN111459509A (zh) * | 2020-03-27 | 2020-07-28 | 北京金山云网络技术有限公司 | 容器镜像的构建方法、装置和服务器 |
CN111736850A (zh) * | 2020-07-21 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
CN111736850B (zh) * | 2020-07-21 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、服务器及介质 |
US12121807B2 (en) | 2020-07-21 | 2024-10-22 | Tencent Technology (Shenzhen) Company Limited | Image processing method using a shared GPU shader cache mechanism and apparatus, server, and medium |
CN112486495A (zh) * | 2020-11-23 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种工业视觉算法部署方法、系统及存储介质 |
CN113805858A (zh) * | 2021-02-10 | 2021-12-17 | 京东科技控股股份有限公司 | 持续部署脚本语言开发的软件的方法和装置 |
CN113805858B (zh) * | 2021-02-10 | 2024-04-05 | 京东科技控股股份有限公司 | 持续部署脚本语言开发的软件的方法和装置 |
US11969894B2 (en) | 2021-06-21 | 2024-04-30 | Electronics And Telecommunications Research Institute | Apparatus for automated communication between robot and artificial intelligence service and method using the same |
Also Published As
Publication number | Publication date |
---|---|
CN106933635B (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933635A (zh) | Docker镜像生成方法及Docker容器 | |
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US11265229B2 (en) | Compliance validation for services based on user selection | |
CN104346184A (zh) | 应用打包装置及方法 | |
CN106559438B (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN104216700B (zh) | 基于云计算的html5应用的打包、安装、卸载、运行方法的系统 | |
CN108964968B (zh) | 一种容器云环境下的服务接入管理方法和系统 | |
CN110058863A (zh) | Docker容器的构建方法、装置、设备及存储介质 | |
CN104899047B (zh) | 网页框架部署方法和系统 | |
WO2019000627A1 (zh) | 软件定制服务器、方法、程序及计算机可读存储介质 | |
CN106648741A (zh) | 一种应用系统部署方法及装置 | |
CN102981915B (zh) | 一种应用程序间通信方法及装置 | |
JP2017523506A (ja) | Restサービスソースコード生成 | |
CN101290581A (zh) | 编译系统及方法 | |
CN103034546B (zh) | iOS系统中应用程序间通信的方法及装置 | |
CN107632829A (zh) | 一种基于iOS系统下的App自动化持续集成系统及方法 | |
CN108984202B (zh) | 一种电子资源分享方法、装置和存储介质 | |
JP2009116733A (ja) | アプリケーション検索システム、アプリケーション検索方法、モニタ端末、検索サーバおよびプログラム | |
Ansari et al. | Online C/C++ compiler using cloud computing | |
CN112153012B (zh) | 多端触点接入方法、装置及存储介质 | |
CN106681773A (zh) | 一种Android系统启动的方法及装置、Android移动终端 | |
CN106897920A (zh) | 一种业务流程自动审批方法及系统 | |
CN102833272A (zh) | 一种基于用户订阅的下载方法及装置 | |
CN108833482B (zh) | Mdl文件自动下载方法、系统、计算机设备和存储介质 | |
CN114465867B (zh) | 服务器的维护方法、装置、存储介质及处理器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |