CN112181588A - 一种应用容器化方法、装置及电子设备和存储介质 - Google Patents
一种应用容器化方法、装置及电子设备和存储介质 Download PDFInfo
- Publication number
- CN112181588A CN112181588A CN202010988136.3A CN202010988136A CN112181588A CN 112181588 A CN112181588 A CN 112181588A CN 202010988136 A CN202010988136 A CN 202010988136A CN 112181588 A CN112181588 A CN 112181588A
- Authority
- CN
- China
- Prior art keywords
- dockerfile
- application
- command
- template
- containerization
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000006978 adaptation Effects 0.000 claims abstract description 41
- 238000010276 construction Methods 0.000 claims abstract description 18
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000011022 operating instruction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 11
- 230000009466 transformation Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000006467 substitution reaction 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/45595—Network integration; Enabling network access in 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)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用容器化方法、装置及一种电子设备和计算机可读存储介质,该方法包括:将应用适配组件部署于服务器上;利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。由此可见,本申请提供的应用容器化方法,省去了Dockerfile的编写过程,降低了应用容器化的技术难度,提高了容器化改造效率。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种应用容器化方法、装置及一种电子设备和一种计算机可读存储介质。
背景技术
Kubernetes用于管理云平台中多个主机上的容器化的应用,所有业务应用都是以容器的方式运行在计算节点上,但如果JAVA应用之前部署在传统的虚拟机和物理机上,想要应用上实现容器化,对于传统应用开发人员或者不熟悉Docker基础命令的开发人员来说是个挑战。另外,对于较为复杂的应用,用户需要自定义Dockerfile,存在一定的技术难度。
因此,如何降低应用容器化的技术难度,提高容器化改造效率是本领域技术人员需要解决的技术问题。
申请内容
本申请的目的在于提供一种应用容器化方法、装置及一种电子设备和一种计算机可读存储介质,降低了应用容器化的技术难度,提高了容器化改造效率。
为实现上述目的,本申请提供了一种应用容器化方法,包括:
将应用适配组件部署于服务器上;
利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
其中,所述Dockerfile基础命令包括用于指定基础镜像的命令、用于实现文件到镜像的拷贝命令、用于执行指令的命令、用于设置环境变量的命令。
其中,所述配置信息包括所述目标应用对应的基础镜像、程序、依赖包、环境变量和运行指令。
其中,所述利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建,包括:
获取所述目标应用对应的基础镜像,并利用所述指定基础镜像的命令对应的Dockerfile模板部署基础镜像;
获取所述目标应用对应的程序和依赖包,并利用所述实现文件到镜像的拷贝命令对应的Dockerfile模板将所述程序和所述依赖包构建至指定目录中;
获取所述目标应用对应的环境变量,并利用所述设置环境变量的命令对应的Dockerfile模板配置所述环境变量;
获取所述目标应用对应的运行指令,并利用所述执行指令的命令对应的Dockerfile模板执行所述运行指令。
其中,所述获取所述目标应用对应的基础镜像,包括:
显示候选基础镜像,以便用户在所述候选基础镜像中选择所述目标用户对应的基础镜像;其中,所述候选基础镜像包括多个版本的Tomcat基础镜像和多个版本的JDK基础镜像。
其中,所述运行指令包括容器启动时的运行指令,用于启动所述目标应用。
其中,所述基于所述配置信息利用所述Dockerfile模板生成Dockerfile之后,还包括:
接收所述Dockerfile的修改命令,并基于所述修改命令对所述Dockerfile进行修改。
为实现上述目的,本申请提供了一种应用容器化装置,包括:
部署模块,用于将应用适配组件部署于服务器上;
构建模块,用于利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
生成模块,用于利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述应用容器化方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述应用容器化方法的步骤。
通过以上方案可知,本申请提供的一种应用容器化方法,包括:将应用适配组件部署于服务器上;利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
本申请提供的应用容器化方法,利用应用适配组件根据常用场景,抽象出通用的Dockerfile模板,根据Dockerfile常用的基础命令,列出示例并进行用法说明。应用适配组件支持用户根据通用Dockerfile模板进行个性化修改。用户通过该组件选择镜像镜像,配置需要构建进镜像的程序、依赖包、环境变量等信息,自动生成Dockerfile并完成镜像的构建,帮助用户高效的完成复杂应用的容器化过程。由此可见,本申请提供的应用容器化方法,省去了Dockerfile的编写过程,降低了应用容器化的技术难度,提高了容器化改造效率。本申请还公开了一种应用容器化装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种应用容器化方法的流程图;
图2为根据一示例性实施例示出的另一种应用容器化方法的流程图;
图3为根据一示例性实施例示出的一种应用容器化装置的结构图;
图4为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例公开了一种应用容器化方法,提高了旅游行为的监管效率。
参见图1,根据一示例性实施例示出的一种应用容器化方法的流程图,如图1所示,包括:
S101:将应用适配组件部署于服务器上;
本实施例的目的在于利用应用适配组件进行目标应用的自动容器化,此处的目标应用可以包括JAVA应用。在本步骤,将该应用适配组件部署于服务器上。
S102:利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
在具体实施中,应用适配组件提供Dockerfile模板,Dockerfile模板根据Dockerfile基础命令进行分类,Dockerfile基础命令包括用于指定基础镜像的命令、用于实现文件到镜像的拷贝命令、用于执行指令的命令、用于设置环境变量的命令。用于指定基础镜像的命令具体为FROM命令,用于实现文件到镜像的拷贝命令具体为COPY或ADD命令,用于执行指令的命令包括RUN命令和CMD命令,CMD命令为容器启动时执行的命令,用于设置环境变量的命令具体为ENV命令。
S103:利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
在本步骤中,用户设置目标应用容器化的配置信息,应用适配组件可以该配置信息利用Dockerfile模板自动生成Dockerfile,并完成镜像构建。
具体的,用户在使用该应用适配组件时,首先将所有需要构建进镜像的程序、依赖包等放置到指定目录,然后选择组件提供的常用基础镜像,例如Tomcat7.0、8.0、9.0等中间件常用版本的基础镜像,JDK1.7、1.8等常用版本的基础镜像,组件通过DockerHub提供尽可能多的基础镜像,如果组件无法提供也可以自定义上传。用户选择完基础镜像后,开始通过组件编排需要构建进镜像的程序、依赖包等文件,指定需要构建到镜像中的路径,用户还可以自定义环境变量,指定执行的命令等。用户无需编写Dockerfile,只需要根据需要通过组件配置构建镜像相关数据,即可自动构建出镜像。
在上述方案的基础上,作为一种可行的实施方式,所述基于所述配置信息利用所述Dockerfile模板生成Dockerfile之后,还包括:接收所述Dockerfile的修改命令,并基于所述修改命令对所述Dockerfile进行修改。在具体实施中,用户还可以利用应用适配组件设置应用的个性化需求,可以进行自定义,但需要遵守Dockerfile语法规则。
本申请实施例提供的应用容器化方法,利用应用适配组件根据常用场景,抽象出通用的Dockerfile模板,根据Dockerfile常用的基础命令,列出示例并进行用法说明。应用适配组件支持用户根据通用Dockerfile模板进行个性化修改。用户通过该组件选择镜像镜像,配置需要构建进镜像的程序、依赖包、环境变量等信息,自动生成Dockerfile并完成镜像的构建,帮助用户高效的完成复杂应用的容器化过程。由此可见,本申请实施例提供的应用容器化方法,省去了Dockerfile的编写过程,降低了应用容器化的技术难度,提高了容器化改造效率。
本申请实施例公开了一种应用容器化方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,根据一示例性实施例示出的另一种应用容器化方法的流程图,如图2所示,包括:
S201:将应用适配组件部署于服务器上;
S202:利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
S203:获取所述目标应用对应的基础镜像,并利用所述指定基础镜像的命令对应的Dockerfile模板部署基础镜像;
在具体实施中,应用适配组件可以提供候选基础镜像,用户可以在其中选择目标应用对应的基础镜像,即所述获取所述目标应用对应的基础镜像的步骤包括:显示候选基础镜像,以便用户在所述候选基础镜像中选择所述目标用户对应的基础镜像;其中,所述候选基础镜像包括多个版本的Tomcat基础镜像和多个版本的JDK基础镜像。
S204:获取所述目标应用对应的程序和依赖包,并利用所述实现文件到镜像的拷贝命令对应的Dockerfile模板将所述程序和所述依赖包构建至指定目录中;
S205:获取所述目标应用对应的环境变量,并利用所述设置环境变量的命令对应的Dockerfile模板配置所述环境变量;
S206:获取所述目标应用对应的运行指令,并利用所述执行指令的命令对应的Dockerfile模板执行所述运行指令。
目标应用在容器化过程中,需要构建镜像,镜像构建需要根据需要编写Dockerfile。在进行镜像构建时,只需提供相关的程序、依赖包等文件,放置到指定目录,通过组件进行基础镜像文件路径、环境变量、容器启动命令等配置,该发明装置自动根据相关配置生成Dockerfile,并完成镜像构建。省去了Dockerfile的编写过程,降低了JAVA应用容器化的技术难度,提高了容器化改造效率。
下面介绍本申请提供的一种应用实施例,具体可以包括以下步骤:
步骤一:组件部署
将该组件部署在物理服务器上,提供镜像构建参数设置服务。
步骤二:基础镜像选择
组件提供基础镜像选择功能,针对JAVA应用,提供常用的JDK、Tomcat版本基础镜像,用户如果需要个性化基础镜像,也可以自行上传,该步骤主要实现了Dockerfile中FROM指令的功能。
步骤三:上传文件
上传的文件主要包括JAVA应用程序及程序运行的依赖文件,也可以选择相关组件安装包等,上传的文件需要指定一个容器内路径,在构建镜像时将相关文件构建至相应的目录,该步骤主要实现了Dockerfile中COPY或ADD指令的功能。
步骤四:环境变量配置:
JAVA应用程序在运行过程中可能依赖一些环境变量,通过该组件配置应用程序运行需要的环境变量,该步骤主要实现了Dockerfile中ENV指令的功能。
步骤五:容器运行命令:
容器应用在启动时,需要执行相关命令让应用程序运行起来,开发人员可以通过该组件输入相关运行命令,该步骤主要实现了Dockerfile中CMD、RUN命令。
步骤六:其他个性配置:
开发人员可以通过该组件完成其他个性化需求的配置,但是需要满足Dockerfile指令规则。
步骤七:生成Dockerfile并进行镜像构建
完成以上配置以后,组件可以生成对应的Dockerfile并完成镜像构建,可以根据生成的Dockerfile进行二次修改等操作。
下面对本申请实施例提供的一种应用容器化装置进行介绍,下文描述的一种应用容器化装置与上文描述的一种应用容器化方法可以相互参照。
参见图3,根据一示例性实施例示出的一种应用容器化装置的结构图,如图3所示,包括:
部署模块301,用于将应用适配组件部署于服务器上;
构建模块302,用于利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
生成模块303,用于利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
本申请实施例提供的应用容器化装置,利用应用适配组件根据常用场景,抽象出通用的Dockerfile模板,根据Dockerfile常用的基础命令,列出示例并进行用法说明。应用适配组件支持用户根据通用Dockerfile模板进行个性化修改。用户通过该组件选择镜像镜像,配置需要构建进镜像的程序、依赖包、环境变量等信息,自动生成Dockerfile并完成镜像的构建,帮助用户高效的完成复杂应用的容器化过程。由此可见,本申请实施例提供的应用容器化装置,省去了Dockerfile的编写过程,降低了应用容器化的技术难度,提高了容器化改造效率。
在上述实施例的基础上,作为一种优选实施方式,所述Dockerfile基础命令包括用于指定基础镜像的命令、用于实现文件到镜像的拷贝命令、用于执行指令的命令、用于设置环境变量的命令。
在上述实施例的基础上,作为一种优选实施方式,所述配置信息包括所述目标应用对应的基础镜像、程序、依赖包、环境变量和运行指令。
在上述实施例的基础上,作为一种优选实施方式,所述生成模块303包括:
部署单元,用于获取所述目标应用对应的基础镜像,并利用所述指定基础镜像的命令对应的Dockerfile模板部署基础镜像;
构建单元,用于获取所述目标应用对应的程序和依赖包,并利用所述实现文件到镜像的拷贝命令对应的Dockerfile模板将所述程序和所述依赖包构建至指定目录中;
配置单元,用于获取所述目标应用对应的环境变量,并利用所述设置环境变量的命令对应的Dockerfile模板配置所述环境变量;
执行单元,用于获取所述目标应用对应的运行指令,并利用所述执行指令的命令对应的Dockerfile模板执行所述运行指令。
在上述实施例的基础上,作为一种优选实施方式,所述部署单元包括:
显示子单元,用于显示候选基础镜像,以便用户在所述候选基础镜像中选择所述目标用户对应的基础镜像;其中,所述候选基础镜像包括多个版本的Tomcat基础镜像和多个版本的JDK基础镜像;
部署子单元,用于利用所述指定基础镜像的命令对应的Dockerfile模板部署基础镜像。
在上述实施例的基础上,作为一种优选实施方式,所述运行指令包括容器启动时的运行指令,用于启动所述目标应用。
在上述实施例的基础上,作为一种优选实施方式,还包括:
修改模块,用于接收所述Dockerfile的修改命令,并基于所述修改命令对所述Dockerfile进行修改。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图4为根据一示例性实施例示出的一种电子设备的结构图,如图4所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的应用的访问方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用容器化方法,其特征在于,包括:
将应用适配组件部署于服务器上;
利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
2.根据权利要求1所述应用容器化方法,其特征在于,所述Dockerfile基础命令包括用于指定基础镜像的命令、用于实现文件到镜像的拷贝命令、用于执行指令的命令、用于设置环境变量的命令。
3.根据权利要求2所述应用容器化方法,其特征在于,所述配置信息包括所述目标应用对应的基础镜像、程序、依赖包、环境变量和运行指令。
4.根据权利要求3所述应用容器化方法,其特征在于,所述利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建,包括:
获取所述目标应用对应的基础镜像,并利用所述指定基础镜像的命令对应的Dockerfile模板部署基础镜像;
获取所述目标应用对应的程序和依赖包,并利用所述实现文件到镜像的拷贝命令对应的Dockerfile模板将所述程序和所述依赖包构建至指定目录中;
获取所述目标应用对应的环境变量,并利用所述设置环境变量的命令对应的Dockerfile模板配置所述环境变量;
获取所述目标应用对应的运行指令,并利用所述执行指令的命令对应的Dockerfile模板执行所述运行指令。
5.根据权利要求4所述应用容器化方法,其特征在于,所述获取所述目标应用对应的基础镜像,包括:
显示候选基础镜像,以便用户在所述候选基础镜像中选择所述目标用户对应的基础镜像;其中,所述候选基础镜像包括多个版本的Tomcat基础镜像和多个版本的JDK基础镜像。
6.根据权利要求4所述应用容器化方法,其特征在于,所述运行指令包括容器启动时的运行指令,用于启动所述目标应用。
7.根据权利要求1至6中任一项所述应用容器化方法,其特征在于,所述基于所述配置信息利用所述Dockerfile模板生成Dockerfile之后,还包括:
接收所述Dockerfile的修改命令,并基于所述修改命令对所述Dockerfile进行修改。
8.一种应用容器化装置,其特征在于,包括:
部署模块,用于将应用适配组件部署于服务器上;
构建模块,用于利用所述应用适配组件构建Dockerfile基础命令对应的Dockerfile模板;其中,所述Dockerfile模板用于实现对应的Dockerfile基础命令的功能;
生成模块,用于利用所述应用适配组件接收目标应用容器化的配置信息,基于所述配置信息利用所述Dockerfile模板生成Dockerfile,并完成镜像构建。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述应用容器化方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述应用容器化方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988136.3A CN112181588A (zh) | 2020-09-18 | 2020-09-18 | 一种应用容器化方法、装置及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010988136.3A CN112181588A (zh) | 2020-09-18 | 2020-09-18 | 一种应用容器化方法、装置及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181588A true CN112181588A (zh) | 2021-01-05 |
Family
ID=73956443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010988136.3A Pending CN112181588A (zh) | 2020-09-18 | 2020-09-18 | 一种应用容器化方法、装置及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181588A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748936A (zh) * | 2021-01-19 | 2021-05-04 | 携程旅游网络技术(上海)有限公司 | 用于容器的服务集成方法、系统、设备及存储介质 |
CN113032094A (zh) * | 2021-03-08 | 2021-06-25 | 万翼科技有限公司 | 一种cad容器化方法、装置及电子设备 |
CN113220370A (zh) * | 2021-05-28 | 2021-08-06 | 杭州数跑科技有限公司 | 基于组件的活动应用管理方法、系统、设备及存储介质 |
CN114201239A (zh) * | 2022-02-17 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种系统适配方法、装置及电子设备和存储介质 |
WO2022199136A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为云计算技术有限公司 | 应用改造方法、系统、集群、介质及程序产品 |
CN115828231A (zh) * | 2022-10-28 | 2023-03-21 | 广州汽车集团股份有限公司 | 应用程序运行方法、装置、车辆以及存储介质 |
CN116594647A (zh) * | 2023-06-09 | 2023-08-15 | 中国水利水电科学研究院 | 一种基于Docker技术的软件适配方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058863A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | Docker容器的构建方法、装置、设备及存储介质 |
CN110888655A (zh) * | 2019-11-14 | 2020-03-17 | 中国民航信息网络股份有限公司 | 一种应用发布方法及装置 |
CN111198744A (zh) * | 2018-11-16 | 2020-05-26 | 中标软件有限公司 | 自动化应用程序容器化和镜像备份发布的方法 |
-
2020
- 2020-09-18 CN CN202010988136.3A patent/CN112181588A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198744A (zh) * | 2018-11-16 | 2020-05-26 | 中标软件有限公司 | 自动化应用程序容器化和镜像备份发布的方法 |
CN110058863A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | Docker容器的构建方法、装置、设备及存储介质 |
CN110888655A (zh) * | 2019-11-14 | 2020-03-17 | 中国民航信息网络股份有限公司 | 一种应用发布方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748936A (zh) * | 2021-01-19 | 2021-05-04 | 携程旅游网络技术(上海)有限公司 | 用于容器的服务集成方法、系统、设备及存储介质 |
CN112748936B (zh) * | 2021-01-19 | 2024-05-14 | 携程旅游网络技术(上海)有限公司 | 用于容器的服务集成方法、系统、设备及存储介质 |
CN113032094A (zh) * | 2021-03-08 | 2021-06-25 | 万翼科技有限公司 | 一种cad容器化方法、装置及电子设备 |
WO2022199136A1 (zh) * | 2021-03-23 | 2022-09-29 | 华为云计算技术有限公司 | 应用改造方法、系统、集群、介质及程序产品 |
CN113220370A (zh) * | 2021-05-28 | 2021-08-06 | 杭州数跑科技有限公司 | 基于组件的活动应用管理方法、系统、设备及存储介质 |
CN114201239A (zh) * | 2022-02-17 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种系统适配方法、装置及电子设备和存储介质 |
CN114201239B (zh) * | 2022-02-17 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种系统适配方法、装置及电子设备和存储介质 |
WO2023155536A1 (zh) * | 2022-02-17 | 2023-08-24 | 苏州浪潮智能科技有限公司 | 一种系统适配方法、装置及电子设备和存储介质 |
CN115828231A (zh) * | 2022-10-28 | 2023-03-21 | 广州汽车集团股份有限公司 | 应用程序运行方法、装置、车辆以及存储介质 |
CN116594647A (zh) * | 2023-06-09 | 2023-08-15 | 中国水利水电科学研究院 | 一种基于Docker技术的软件适配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181588A (zh) | 一种应用容器化方法、装置及电子设备和存储介质 | |
CN111666096B (zh) | 目标应用的热更新方法和装置、存储介质和电子设备 | |
KR101807897B1 (ko) | 크로스―플랫폼 어플리케이션 프레임워크 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
CN109739600B (zh) | 数据处理方法、介质、装置和计算设备 | |
WO2022016848A1 (zh) | 一种根据服务角色的进行应用部署的方法及装置 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN108415698B (zh) | 在语音对话平台的技能中添加控件的方法 | |
CN111459539A (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN114020621A (zh) | 一种调试方法、电子设备及存储介质 | |
CN114489927A (zh) | 一种解耦依赖文件的容器部署方法及系统 | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN116263657A (zh) | 处理单元、软件模块、方法和程序代码 | |
US11526363B2 (en) | Electronic apparatus and control method thereof | |
CN116249962A (zh) | 用于车载设备应用起动的池管理 | |
CN112486579A (zh) | 自助终端设备驱动调用标准化方法及相关设备 | |
CN117008934A (zh) | 自动制作信创操作系统镜像的方法、装置、设备及介质 | |
CN116954752A (zh) | 一种差异化系统配置、加载方法、装置及计算机设备 | |
CN111459573A (zh) | 一种智能合约执行环境的启动方法以及装置 | |
CN115454572A (zh) | 基于Docker工具构建虚拟机磁盘镜像的方法及系统 | |
CN115857999A (zh) | 基于vue的系统架构改造获得微前端系统架构的方法及系统 | |
CN113835680B (zh) | 应用程序的生成方法、装置、电子设备及计算机存储介质 | |
Wilding-McBride | Java Development on PDAs: building applications for PocketPC and Palm devices | |
CN114201174A (zh) | 混合移动应用的构建方法、装置、电子设备及存储介质 | |
CN114816418A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210105 |
|
RJ01 | Rejection of invention patent application after publication |