CN111966463A - 一种容器镜像的构建方法、装置、存储介质及电子设备 - Google Patents
一种容器镜像的构建方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111966463A CN111966463A CN202010835896.0A CN202010835896A CN111966463A CN 111966463 A CN111966463 A CN 111966463A CN 202010835896 A CN202010835896 A CN 202010835896A CN 111966463 A CN111966463 A CN 111966463A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- compiling
- container
- package
- source code
- 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.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims description 27
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000015654 memory Effects 0.000 claims description 32
- 238000009434 installation Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种容器镜像的构建方法、装置、存储介质及电子设备,该方法包括:获取基础镜像和源码包;根据挂载的编译工具包和编译软件对基础镜像和源码包进行编译,得到包含基础镜像和源码包的业务镜像。通过实施本发明,在进行镜像编译时,只对基础镜像和源码包进行编译;同时,可以在编译的主机服务器上预先安装编译工具包并保存编译软件,在将基础镜像作为容器启动时,将安装该编译工具包的目录和保存编译软件的目录挂载给容器,之后将源码包中的代码拷贝进容器进行安装,即可完成镜像的编译。由此,该编译的镜像中只包含基础镜像和源码包,使得该业务镜像体积较小易于保存,并且基于该镜像作为容器启动时,可以大大减小容器创建的时间。
Description
技术领域
本发明涉及云计算技术领域,具体涉及一种容器镜像的构建方法、装置、存储介质及电子设备。
背景技术
容器镜像是对应用程序的代码及其运行环境进行标准化封装,得到的一种特殊的文件系统,可直接运行在任何安装有容器的操作系统中。容器是对应用程序构建、分发、运行的统一平台,用于实现应用程序的自动化安装、部署及升级。由于容器镜像提供了容器运行时所需的各种资源,是容器得以运行的基础,因此,在基于容器技术对应用程序进行自动化部署之前,需要先构建出应用程序的容器镜像。
目前构建容器镜像时,主要采用如下方法:接收用户发送的镜像构建指令,基于镜像构建指令获取应用程序的代码;创建容器构建任务,基于容器构建任务,构建应用程序的容器;在所构建的容器中对应用程序的代码等用于构建容器镜像的资源进行编译,得到应用程序的容器镜像;接收用户发送的镜像上传指令,基于镜像上传指令,将所构建的容器镜像上传至镜像服务器。
然而,现有技术中在对镜像进行编译时,是以软件包、基础Docker镜像以及镜像构件驱动的形式对主流的软件编译打包和镜像构建。采用该方式编译的镜像较大,保存时占据空间较大,存放不变,且应用该镜像启动容器时时间较长。
发明内容
有鉴于此,本发明实施例提供了一种容器镜像的构建方法、装置、存储介质及电子设备,以解决现有技术中编译的镜像较大,存放不便且应用该镜像启动容器时时间较长的问题。
本发明提出的技术方案如下:
本发明实施例第一方面提供一种容器镜像的构建方法,该容器镜像的构建方法包括:获取基础镜像和源码包;根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
进一步地,根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像,包括:在编译的主机服务器上安装所述编译工具包;在编译的主机服务器上预先保存编译软件;将所述基础镜像作为容器启动;将所述编译工具包的安装目录和所述编译软件的保存目录挂载至所述容器;将所述源码包中的代码拷贝至所述容器进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
进一步地,该容器镜像的构建方法还包括:将所述业务镜像上传至镜像仓库保存。
进一步地,该容器镜像的构建方法还包括:根据所述业务镜像生成本地镜像;根据挂载的编译工具包和编译软件启动所述本地镜像,得到运行的容器。
进一步地,根据挂载的编译工具包和编译软件启动所述本地镜像之前,还包括:在运行容器的服务器中安装所述编译工具包并保存所述编译软件。
进一步地,根据挂载的编译工具包和编译软件启动所述本地镜像之前,还包括:在共享存储器中保存所述编译工具包和编译软件。
进一步地,所述编译工具包包括:Java包、C++包或Glibc中的任意一种,所述编译软件包括架构蓝图数据和地图数据。
本发明实施例第二方面提供一种容器镜像的构建装置,该容器镜像的构建装置包括:获取模块,用于获取基础镜像和源码包;编译模块,用于根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
本发明实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本发明实施例第一方面及第一方面任一项所述的容器镜像的构建方法。
本发明实施例第四方面提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如本发明实施例第一方面及第一方面任一项所述的容器镜像的构建方法。
本发明提供的技术方案,具有如下效果:
本发明实施例提供的容器镜像的构建方法、装置、存储介质及电子设备,在进行镜像编译时,只对基础镜像和源码包进行编译;同时,可以在编译的主机服务器上预先安装编译工具包并保存编译软件,在将基础镜像作为容器启动时,将安装该编译工具包的目录和保存编译软件的目录挂载给容器,之后将源码包中的代码拷贝进容器进行安装,即可完成镜像的编译。由此,该编译的镜像中只包含基础镜像和源码包,相比于现有技术中的容器镜像,大大减小了镜像的大小,易于保存。且基于该镜像作为容器启动时,可以大大减小容器创建的时间。同时,在高可用切换的时候可以提高下载镜像的速度,降低高可用的切换时间。
本发明实施例提供的容器镜像的构建方法、装置、存储介质及电子设备,在启动编译完成的镜像时,可以根据具体启动镜像的服务器采用编译时安装的编译工具包和编译软件或预先安装编译工具包并保存编译软件,从而便于启动镜像后容器的运行。同时,当服务器较多时,还可以将编译工具包和编译软件保存在共享存储器中,可以避免在多个服务器中安装编译工具包并保存编译软件。此外,当同一个服务器中有多个镜像同时启动时,可以共用该服务器挂载的编译工具包和编译软件。由此,本发明实施例提供的容器镜像的构建方法,可以减少安装的编译工具包和保存的编译软件的数量,从而减少相应的工作量。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的容器镜像的构建方法的流程图;
图2是根据本发明另一实施例的容器镜像的构建方法的流程图;
图3是根据本发明实施例的容器镜像的构建方法装置的结构框图;
图4是根据本发明另一实施例的容器镜像的构建方法装置的结构框图;
图5是根据本发明另一实施例的容器镜像的构建方法装置的结构框图;
图6是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图7是根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
正如在背景技术中所述,现有的容器镜像在创建过程中,例如基于Docker的容器技术,是通过用户或客户端与Docker主机的通信过程实现,即Docker主机接收用户或客户端的镜像创建指令,基于镜像构建指令获取应用程序的代码形成软件包或源码包,同时拉取一个空白的基础Docker镜像,并在编译工具包和编译软件对应的环境下进行编译,得到包含软件包、基础镜像、编译工具包及编译软件的业务镜像。然而,该镜像中包含内容较多,不易保存,且镜像大小可能达几十G,在根据该镜像创建容器时可以需要时间较长;同时,在高可用切换的时候下载镜像比较耗时,导致高可用切换时间比较长。
基于此,本发明实施例提供一种容器镜像的构建方法,如图1所示,该容器镜像的构建方法包括如下步骤:
步骤S101:获取基础镜像和源码包;具体地,在镜像构建的过程中,需要获取应用程序的代码,该代码可以是用户自行研制的,也可以是获取的现有的代码,该代码可以保存在源码包中。同时,编译镜像时还需要一个通用的空白官方镜像即基础镜像,例如Windows纯净版的镜像,包括CentOS,Ubuntu,Suse等。在首次构建镜像时,可以从镜像仓库中拉取所需的基础镜像,拉取的基础镜像可以在本地保存,在下次构建镜像时则无需再次拉取,可以直接由本地获取即可。
步骤S102:根据挂载的编译工具包和编译软件对基础镜像和源码包进行编译,得到包含基础镜像和源码包的业务镜像。可选地,在对基础镜像和源码包进行编译时,可以先将基础镜像作为容器启动,之后将源码包中的代码拷贝进容器进行安装。具体地,在编译之前,可以在编译的主机服务器上预先安装编译工具包,例如Java包、C++包或Glibc等,同时在编译的主机服务器上预先保存编译软件如架构蓝图数据和地图数据等;在编译时,可以将编译工具包安装的目录和编译软件的保存目录挂载至所构建的容器,即该挂载的编译工具包和编译软件相当于为编译过程提供了编译的环境,由此,可以在该编译环境下对基础镜像和源码包进行编译,得到包含基础镜像和源码包的业务镜像。
本发明实施例提供的容器镜像的构建方法,在进行镜像编译时,只对基础镜像和源码包进行编译;同时,可以在编译的主机服务器上预先安装编译工具包并保存编译软件,在将基础镜像作为容器启动时,安装该编译工具包的目录和保存编译软件的目录可以挂载给容器,之后将源码包中的代码拷贝进容器进行安装,即可完成镜像的编译。由此,该编译的镜像中只包含基础镜像和源码包,相比于现有技术中的容器镜像,大大减小了镜像的大小,易于保存。且基于该镜像作为容器启动时,可以大大减小容器创建的时间。同时,在高可用切换的时候可以提高下载镜像的速度,降低高可用的切换时间。
在一实施例中,该容器镜像的构建方法还包括:将业务镜像上传至容器仓库保存。具体地,在镜像编译完成后,可以将编译的主机服务器中的业务镜像上传到容器仓库(Registry)中保存。并且,由于编译得到的业务镜像的体积较小,从而可以在仓库中保存更多的镜像。
可选地,该上传过程可以在客户端的辅助下实现。具体地,用户发送附带证书的请求到Registry的index要求分配库名。其中,index负责并维护有关用户账户、镜像的校验以及公共命名空间的信息。在认证成功、命名空间可用之后,库名也被分配。index发出响应返回临时的token。需上传的业务镜像连带token,一起被推送到Registry中。Registry与index证实token被授权,然后在index验证之后开始读取推送流,最终完成业务镜像的上传。
在一实施例中,如图2所示,该容器镜像的构建方法还包括如下步骤:
步骤S201:根据业务镜像生成本地镜像;具体的,当需要启动业务镜像时,可以从容器仓库中查找相应的业务镜像并下载,得到一个本地镜像。
步骤S202:根据挂载的编译工具包和编译软件启动本地镜像,得到运行的容器。具体地,当启动镜像的服务器和编译的服务器为同一台主机服务器时,可以直接将编译服务器中安装编译工具包的目录和保存编译软件的目录挂载至启动本地镜像形成的容器中,从而实现容器的正常运行。同时,当在一个服务器中运行多个容器时,该多个容器可以共用挂载的编译工具包和编译软件。
在一实施例中,当启动镜像的服务器和编译的服务器不是同一台主机服务器时,例如,需要在生产环境所在的主机服务器中启动镜像时,可以在该主机服务器中预先安装编译工具包并保存编译软件,例如Java包和架构蓝图、地图等数据,在启动本地镜像形成的容器中挂载该Java包的安装目录和相应数据的保存目录,从而实现容器的正常运行。
在一实施例中,当有多个服务器需要启动镜像时,为了避免在每个服务器中安装编译工具包和保存编译软件,可以将编译工具包和编译软件保存在共享存储器中;在服务器中启动镜像时,可以通过网络远程将共享存储器中的编译工具包和编译软件挂载至相应服务器上。由此,可以减少安装的编译工具包和保存的编译软件的数量,减少了相应的工作量。
本发明实施例提供的容器镜像的构建方法,在启动编译完成的镜像时,可以根据具体启动镜像的服务器采用编译时安装的编译工具包和编译软件或预先安装编译工具包并保存编译软件,从而便于启动镜像后容器的运行。同时,当服务器较多时,还可以将编译工具包和编译软件保存在共享存储器中,可以避免在多个服务器中安装编译工具包和保存编译软件。此外,当同一个服务器中有多个镜像同时启动时,可以共用该服务器挂载的编译工具包和编译软件。由此,本发明实施例提供的容器镜像的构建方法,可以减少安装的编译工具包和保存的编译软件的数量,从而减少相应的工作量。
本发明实施例还提供一种容器镜像的构建装置,如图3所示,该容器镜像的构建装置包括:
获取模块1,用于获取基础镜像和源码包;详细内容参见上述方法实施例中步骤S101的相关描述。
编译模块2,用于根据挂载的编译工具包和编译软件对基础镜像和源码包进行编译,得到包含基础镜像和源码包的业务镜像。详细内容参见上述方法实施例中步骤S102的相关描述。
本发明实施例提供的容器镜像的构建装置,在进行镜像编译时,只对基础镜像和源码包进行编译;同时,可以在编译的主机服务器上预先安装编译工具包并保存编译软件,在将基础镜像作为容器启动时,安装该编译工具包的目录和保存编译软件的目录可以挂载给容器,之后将源码包中的代码拷贝进容器进行安装,即可完成镜像的编译。由此,该编译的镜像中只包含基础镜像和源码包,相比于现有技术中的容器镜像,大大减小了镜像的大小,易于保存。且基于该镜像作为容器启动时,可以大大减小容器创建的时间。同时,在高可用切换的时候可以提高下载镜像的速度,降低高可用的切换时间。
在一实施例中,如图4所示,编译模块2包括:
安装模块21,用于在编译的主机服务器上安装编译工具包。
保存模块22,用于在编译的主机服务器上预先保存编译软件。
启动模块23,用于将基础镜像作为容器启动。
挂载模块24,用于将编译工具包的安装目录和编译软件的保存目录挂载至容器。
编译子模块25,将源码包中的代码拷贝至容器进行编译,得到包含基础镜像和源码包的业务镜像。
在一实施例中,如图5所示,该容器镜像的构建装置还包括:保存模块3,用于将业务镜像上传至镜像仓库保存。
在一实施例中,如图5所示,该容器镜像的构建装置还包括:
下载模块4,用于根据业务镜像生成本地镜像;详细内容参见上述方法实施例中步骤S201的相关描述。
运行模块5,用于根据挂载的编译工具包和编译软件启动本地镜像,得到运行的容器。详细内容参见上述方法实施例中步骤S202的相关描述。
本发明实施例提供的容器镜像的构建装置,在启动编译完成的镜像时,可以根据具体启动镜像的服务器采用编译时安装的编译工具包和编译软件或预先安装编译工具包并保存编译软件,从而便于启动镜像后形成容器的运行。同时,当服务器较多时,还可以将编译工具包和编译软件保存在共享存储器中,可以避免在多个服务器中安装编译工具包并保存编译软件。此外,当同一个服务器中有多个镜像同时启动时,可以共用该服务器挂载的编译工具包和编译软件。由此,本发明实施例提供的容器镜像的构建装置,可以减少安装的编译工具包和保存的编译软件的数量,从而减少相应的工作量。
本发明实施例提供的容器镜像的构建装置的功能描述详细参见上述实施例中容器镜像的构建方法描述。
本发明实施例还提供一种存储介质,如图6所示,其上存储有计算机程序601,该指令被处理器执行时实现上述实施例中容器镜像的构建方法的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种电子设备,如图7所示,该电子设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的容器镜像的构建方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行如图1-2所示实施例中的容器镜像的构建方法。
上述电子设备具体细节可以对应参阅图1至图2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种容器镜像的构建方法,其特征在于,包括:
获取基础镜像和源码包;
根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
2.根据权利要求1所述的容器镜像的构建方法,其特征在于,根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像,包括:
在编译的主机服务器上安装所述编译工具包;
在编译的主机服务器上预先保存编译软件;
将所述基础镜像作为容器启动;
将所述编译工具包的安装目录和所述编译软件的保存目录挂载至所述容器;
将所述源码包中的代码拷贝至所述容器进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
3.根据权利要求1所述的容器镜像的构建方法,其特征在于,还包括:
将所述业务镜像上传至镜像仓库保存。
4.根据权利要求1所述的容器镜像的构建方法,其特征在于,还包括:
根据所述业务镜像生成本地镜像;
根据挂载的编译工具包和编译软件启动所述本地镜像,得到运行的容器。
5.根据权利要求4所述容器镜像的构建方法,其特征在于,根据挂载的编译工具包和编译软件启动所述本地镜像之前,还包括:
在运行容器的服务器中安装所述编译工具包并保存所述编译软件。
6.根据权利要求4所述容器镜像的构建方法,其特征在于,根据挂载的编译工具包和编译软件启动所述本地镜像之前,还包括:
在共享存储器中保存所述编译工具包和编译软件。
7.根据权利要求1所述的容器镜像的构建方法,其特征在于,所述编译工具包包括:Java包、C++包或Glibc中的任意一种,所述编译软件包括架构蓝图数据和地图数据。
8.一种容器镜像的构建装置,其特征在于,包括:
获取模块,用于获取基础镜像和源码包;
编译模块,用于根据挂载的编译工具包和编译软件对所述基础镜像和所述源码包进行编译,得到包含所述基础镜像和所述源码包的业务镜像。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7任一项所述的容器镜像的构建方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7任一项所述的容器镜像的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835896.0A CN111966463A (zh) | 2020-08-18 | 2020-08-18 | 一种容器镜像的构建方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010835896.0A CN111966463A (zh) | 2020-08-18 | 2020-08-18 | 一种容器镜像的构建方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111966463A true CN111966463A (zh) | 2020-11-20 |
Family
ID=73389372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010835896.0A Pending CN111966463A (zh) | 2020-08-18 | 2020-08-18 | 一种容器镜像的构建方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966463A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506615A (zh) * | 2020-12-11 | 2021-03-16 | 浪潮电子信息产业股份有限公司 | JavaWeb应用部署方法、装置、设备及存储介质 |
CN112732332A (zh) * | 2021-04-02 | 2021-04-30 | 北京易捷思达科技发展有限公司 | 适用于koji管理系统的软件包管理方法、装置及电子设备 |
CN113918284A (zh) * | 2021-10-13 | 2022-01-11 | 江苏安超云软件有限公司 | 云主机批量迁移的方法及装置、电子设备和存储介质 |
CN114879984A (zh) * | 2022-07-07 | 2022-08-09 | 杭州阿启视科技有限公司 | 动态构建docker镜像减少离线文件体积的方法 |
CN115509590A (zh) * | 2022-11-09 | 2022-12-23 | 安超云软件有限公司 | 持续部署方法及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107621946A (zh) * | 2017-08-16 | 2018-01-23 | 上海艾融软件股份有限公司 | 一种软件开发方法、装置及系统 |
WO2019095936A1 (zh) * | 2017-11-15 | 2019-05-23 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、服务器、装置及存储介质 |
CN111124607A (zh) * | 2019-12-16 | 2020-05-08 | 上海大学 | Fpga虚拟化部署实现高速安全的服务器集群管理方法 |
CN111198744A (zh) * | 2018-11-16 | 2020-05-26 | 中标软件有限公司 | 自动化应用程序容器化和镜像备份发布的方法 |
-
2020
- 2020-08-18 CN CN202010835896.0A patent/CN111966463A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107621946A (zh) * | 2017-08-16 | 2018-01-23 | 上海艾融软件股份有限公司 | 一种软件开发方法、装置及系统 |
WO2019095936A1 (zh) * | 2017-11-15 | 2019-05-23 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、服务器、装置及存储介质 |
CN111198744A (zh) * | 2018-11-16 | 2020-05-26 | 中标软件有限公司 | 自动化应用程序容器化和镜像备份发布的方法 |
CN111124607A (zh) * | 2019-12-16 | 2020-05-08 | 上海大学 | Fpga虚拟化部署实现高速安全的服务器集群管理方法 |
Non-Patent Citations (1)
Title |
---|
云原生实验室: "两个奇技淫巧,将Docker镜像体积减小99%", pages 1 - 6, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/115845957> * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506615A (zh) * | 2020-12-11 | 2021-03-16 | 浪潮电子信息产业股份有限公司 | JavaWeb应用部署方法、装置、设备及存储介质 |
CN112506615B (zh) * | 2020-12-11 | 2023-11-03 | 浪潮电子信息产业股份有限公司 | JavaWeb应用部署方法、装置、设备及存储介质 |
CN112732332A (zh) * | 2021-04-02 | 2021-04-30 | 北京易捷思达科技发展有限公司 | 适用于koji管理系统的软件包管理方法、装置及电子设备 |
CN113918284A (zh) * | 2021-10-13 | 2022-01-11 | 江苏安超云软件有限公司 | 云主机批量迁移的方法及装置、电子设备和存储介质 |
CN113918284B (zh) * | 2021-10-13 | 2022-08-02 | 江苏安超云软件有限公司 | 云主机批量迁移的方法及装置、电子设备和存储介质 |
CN114879984A (zh) * | 2022-07-07 | 2022-08-09 | 杭州阿启视科技有限公司 | 动态构建docker镜像减少离线文件体积的方法 |
CN115509590A (zh) * | 2022-11-09 | 2022-12-23 | 安超云软件有限公司 | 持续部署方法及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966463A (zh) | 一种容器镜像的构建方法、装置、存储介质及电子设备 | |
CN108027741A (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
US20240111549A1 (en) | Method and apparatus for constructing android running environment | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN110968331B (zh) | 应用程序运行的方法和装置 | |
CN105183529A (zh) | 刷新服务器固件的方法、目标服务器、源服务器及系统 | |
CN111818194A (zh) | 基于域名的访问系统和方法 | |
CN113900721A (zh) | 操作系统启动方法、装置和电子设备 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
JP6587997B2 (ja) | タイムマシン機能のためのスライディングウィンドウ管理方法およびシステム | |
CN111367518B (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN117369840A (zh) | 一种基于定制软件源的嵌入式操作系统构建方法 | |
CN115878138B (zh) | 应用预下载方法、装置、计算机、存储介质 | |
CN111897565A (zh) | 基于物联网的数据处理方法、装置和设备 | |
CN115269063A (zh) | 进程创建方法、系统、设备及介质 | |
US20210173620A1 (en) | System and method for providing integrated development environment | |
CN111026502B (zh) | 一种业务调试架构创建方法、装置及电子设备、存储介质 | |
CN113448609A (zh) | 一种容器的升级方法、装置、设备和存储介质 | |
CN111625326A (zh) | 任务管线执行方法、装置及电子设备 | |
CN113222174B (zh) | 模型管理方法及装置 | |
CN111767072B (zh) | 客户端制作方法及装置 | |
CN111562924B (zh) | 一种基于ReactNative的分布式移动应用运行系统及应用方法 | |
CN114172876A (zh) | 数据传输方法、装置及计算机存储介质 | |
CN117421028A (zh) | 软件更新方法、设备及存储介质 | |
CN116820546A (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 |