CN112799688B - 容器应用内软件包安装方法、装置、计算机设备及介质 - Google Patents

容器应用内软件包安装方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN112799688B
CN112799688B CN202110063742.9A CN202110063742A CN112799688B CN 112799688 B CN112799688 B CN 112799688B CN 202110063742 A CN202110063742 A CN 202110063742A CN 112799688 B CN112799688 B CN 112799688B
Authority
CN
China
Prior art keywords
mirror image
operating system
target
preset
software package
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.)
Active
Application number
CN202110063742.9A
Other languages
English (en)
Other versions
CN112799688A (zh
Inventor
王东帅
雷志龙
曹龙虎
尹晓剑
厉昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN202110063742.9A priority Critical patent/CN112799688B/zh
Publication of CN112799688A publication Critical patent/CN112799688A/zh
Application granted granted Critical
Publication of CN112799688B publication Critical patent/CN112799688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

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

本申请公开了一种容器应用内软件包安装方法、装置、计算机设备及介质,容器应用内软件包安装方法包括:接收用户的触发输入,触发输入用于为目标容器应用安装软件包;响应于触发输入,获取第一镜像层信息,第一镜像层信息为目标容器应用的镜像中各层的信息;将至少一个预设操作系统的镜像层信息分别与第一镜像层信息匹配,得到匹配结果,预设操作系统为容器应用的操作系统;在匹配结果为目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,根据目标操作系统,在目标容器应用内安装软件包。本申请公开的方法,可以提高软件包的安装效率,及时使用软件包来应对突发情况,而且可以降低对用户的要求。

Description

容器应用内软件包安装方法、装置、计算机设备及介质
技术领域
本申请属于计算机技术领域,尤其涉及一种容器应用内软件包安装方法、装置、计算机设备及介质。
背景技术
随着容器技术日益发展和完善,应用逐渐容器化,在应用容器化落地过程中,常常遇到许多问题,而这些问题常常落到容器云平台的功能需求上面。在完成容器平台项目过程中,需要在容器应用内部安装软件包。比如,在容器应用内部安装运维软件包,来对容器应用的故障进行排查。
在相关技术中,一般通过拷贝软件包的方式在容器应用内安装软件包。但是,由于需要用户(比如运维人员)手动拷贝软件包以及手动操作来进行软件包的安装,导致用户安装软件包的方式比较繁琐,在面对突发情况(比如容器应用出现运行故障)下,无法及时使用软件包来应对该突发情况。另外,由于不同的操作系统的软件包,其安装方式也不同,导致用户需要对各个操作系统的软件包的安装都比较了解,即对用户的要求比较高。
发明内容
本申请实施例提供一种容器应用内软件包安装方法、装置、计算机设备及介质,能够解决安装软件包的方式比较繁琐,导致无法及时使用软件包来应对该突发情况,以及对安装软件包的用户的要求比较高的技术问题。
第一方面,本申请实施例提供一种容器应用内软件包安装方法,包括:
接收用户的触发输入,所述触发输入用于为目标容器应用安装软件包;
响应于所述触发输入,获取第一镜像层信息,所述第一镜像层信息为所述目标容器应用的镜像中各层的信息;
将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,所述预设操作系统为容器应用的操作系统;
在所述匹配结果为目标操作系统的镜像层信息与所述第一镜像层信息匹配的情况下,根据所述目标操作系统,在所述目标容器应用内安装软件包,所述目标操作系统为所述至少一个预设操作系统中的操作系统。
第二方面,本申请实施例提供了一种容器应用内软件包安装装置,包括:
接收模块,用于接收用户的触发输入,所述触发输入用于为目标容器应用安装软件包;
第一获取模块,用于响应于所述触发输入,获取第一镜像层信息,所述第一镜像层信息为所述目标容器应用的镜像中各层的信息;
匹配模块,用于将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,所述预设操作系统为容器应用的操作系统;
安装模块,用于在所述匹配结果为目标操作系统的镜像层信息与所述第一镜像层信息匹配的情况下,根据所述目标操作系统,在所述目标容器应用内安装软件包,所述目标操作系统为所述至少一个预设操作系统中的操作系统。
第三方面,本申请实施例提供了一种计算机设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现上述的容器应用内软件包安装方法。
第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述的容器应用内软件包安装方法。
本申请实施例的容器应用内软件包安装方法、装置、计算机设备及介质,在接收到用户触发的为目标容器应用安装软件包的触发输入的情况下,获取目标容器应用的镜像的第一镜像层信息;然后,将至少一个预设操作系统的镜像层信息分别与第一镜像层信息匹配,在目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,说明目标容器应用运行在目标操作系统的环境下。再然后,根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。由此,实现了自动在目标容器应用内安装软件包,简化了用户安装软件包的方式,提高软件包的安装效率。在面对突发情况下,可以及时使用软件包来应对该突发情况。另外,由于自动进行软件包的安装,不需要用户了解各个操作系统的软件包的安装方式,降低了对用户的要求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种容器应用内软件包安装方法的流程示意图。
图2是本申请提供的容器应用内软件包安装方法的另一个实施例的流程示意图。
图3是本申请提供的用于实现容器应用内软件包安装方法的关键组件的一个实施例的示意图。
图4是本申请提供的配置组件的执行流程的一个实施例的示意图。
图5是本申请提供的一种容器应用内软件包安装装置的一个实施例的结构示意图。
图6示出了本申请提供的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在背景技术部分提到在进行容器平台项目过程中,需要在容器应用内部安装软件包。其中,容器应用指运行某个具体应用的容器,包含应用程序本身及其依赖的库和软件等。
但是,由于容器应用运行于内网环境中,无法直接在容器应用内部安装来自外部软件源的软件包。
另外,由于不同的容器应用、不同版本的容器应用对应不同的操作系统,且有时还无法通过容器应用的名称来区分不同版本的容器应用或者区分容器应用对应的操作系统,因此,在不同的容器应用或者不同版本的容器应用内部安装软件包比较麻烦,无法进行统一的软件包的安装管理工作。
基于上述情况,在相关技术中,可以通过以下几种方案在容器应用内部安装软件包:(1)在内网环境下,通过命令(比如docker cp命令)或对应接口,拷贝对应离线软件包到容器应用内,再进行本地安装;(2)在构建容器应用的镜像时,在其构建文件(Dockerfile)中增加拷贝的软件包到镜像内,此时容器应用的镜像已包含所需安装的软件包;(3)预设包含常用软件包的操作系统基础镜像,在操作系统基础镜像中可以选择所需安装的软件包。
但是,对于上述通过拷贝安装软件包的方式,由于需要用户(比如运维人员)手动拷贝软件包以及手动操作来进行软件包的安装,导致用户安装软件包的方式比较繁琐,在面对突发情况(比如容器应用出现运行故障)下,无法及时使用软件包来应对该突发情况。
另外,对于上述三种安装软件包的方式,由于不同的操作系统的软件包,其安装方式也不同,导致用户需要对各个操作系统的软件包的安装都比较了解,这样对用户的要求比较高。
为了解决安装软件包的方式比较繁琐,导致无法及时使用软件包来应对该突发情况,以及对安装软件包的用户的要求比较高的技术问题,本申请提供一种容器应用内软件包安装方法,在容器应用内软件包安装方法中,在接收到用户触发的为目标容器应用安装软件包的触发输入的情况下,获取目标容器应用的镜像的第一镜像层信息;然后,将至少一个预设操作系统的镜像层信息分别与第一镜像层信息匹配,在目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,说明目标容器应用运行在目标操作系统的环境下。再然后,根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。
由此,实现了自动在目标容器应用内安装软件包,简化了用户安装软件包的方式,提高软件包的安装效率。在面对突发情况下,可以及时使用软件包来应对该突发情况。另外,由于自动进行软件包的安装,不需要用户了解各个操作系统的软件包的安装方式,降低了对用户的要求。
下面结合附图说明本申请提供的一种容器应用内软件包安装方法。图1是本申请提供的一种容器应用内软件包安装方法的流程示意图,如图1所示,容器应用内软件包安装方法包括:
S102,接收用户的触发输入,触发输入用于为目标容器应用安装软件包,比如,在目标容器应用运行时,接收用户对配置控件的点击操作;
S104,响应于触发输入,获取第一镜像层信息,第一镜像层信息为目标容器应用的镜像中各层的信息。
下面首先对镜像层信息进行说明。
一个镜像包括多个镜像层,一个镜像的基础镜像层可被其他使用此基础镜像层的镜像复用,这种机制即为镜像分层共享机制,镜像分层共享机制是通过联合文件系统(Union File System,unionFS)技术实现。unionFS技术会把多个不同镜像层的相同目录挂载到同一个目录下。其中每一镜像层记录了该镜像层的镜像文件系统信息,即包含了哪些文件、目录,以及属性和数据,其具体内容为在上一层上的改动情况,最终每个镜像层会打包成一个文件,比如打包成tar包。
本申请实施例中的镜像层信息可以为镜像层的摘要信息,摘要信息可以为安全哈希算法-256(Secure Hash Algorithm-256,SHA-256)值。SHA-256是一种常见的安全散列算法,用于生成数据的信息摘要,对于任意大小的数据,通过SHA-256会产生一个256比特长度的哈希值。
下面以docker镜像的镜像层信息为镜像层的tar包的SHA-256值为例说明镜像层信息。docker镜像的各个镜像层的信息可以如下:
"Layers":[
"sha256:13cb14c2acd34e45446a50af25cb05095a17624678dbafbcc9e26086547c1d74",
"sha256:d4cf327d8ef50eb2e31b646f17217a3baf455391bfd59bce47df50c770ff8c07",
"sha256:7c7d7f4461826dd22f9234a81f9bed9c0bdb0b70b3ce66228bfc87418a9b8313",
"sha256:9040af41bb6677b114134de15ddeb10b070eb1f940dbbe277574ee154d89f6b9",
"sha256:f978b9ed3f26a49b55cf4849e4cadb29335be45a633cbe95a2f4e445e70086bf"
]
上述是关于镜像层信息的说明,而对于第一镜像层信息,第一镜像层信息可以为目标容器应用的镜像中各层的摘要信息,比如,目标容器应用的镜像包括三层镜像,那么第一镜像层信息为这三层镜像中每一层镜像的摘要信息。
在S104中,可以根据目标容器应用的第二镜像标识,通过配置接口获取第一镜像层信息。第二镜像标识可以为目标容器应用的名称或者目标容器应用的编号。
其中,目标容器应用可以为集装箱(docker)容器应用或者镜像仓库(harbor)容器应用。
在目标容器应用的镜像存储在本地的情况下,配置接口为docker镜像配置检查接口(docker inspect Application Program Interface,docker inspect api),在目标容器应用的镜像存储在镜像仓库的情况下,配置接口为镜像仓库的镜像元数据获取接口(harbor pullmanifest api)。
其中,获取目标容器应用的镜像层信息和获取操作系统镜像层信息的方法一致。
需要说明的是,docker是一个开源的容器引擎,是当前常用的容器运行时标准。harbor是一种开源的镜像仓库解决方案,用于存储镜像。
在S104之后,容器应用内软件包安装方法还包括:
S106,将至少一个预设操作系统的镜像层信息分别与第一镜像层信息匹配,得到匹配结果,预设操作系统为容器应用的操作系统。
作为一个示例,可以预先构造操作系统镜像信息库,操作系统镜像信息库中包括预设操作系统的镜像层信息。
具体地,可以在S102之前,容器应用内软件包安装方法还可以包括:
下载预设操作系统的镜像,预设操作系统可以为常用的操作系统,常用的操作系统可以包括如下至少一项:社区企业操作系统(Community Enterprise OperatingSystem,CentOS)、Debian、乌班图(Ubuntu)、软件及系统开发(德文是Software-undSystem-Entwicklung,简称SuSE,英文是Software and system development)、阿尔派(alpine)等操作系统;
根据预设操作系统的镜像,获取预设操作系统的镜像层信息,其中,可以通过配置接口获取预设操作系统的镜像层信息;
根据各个预设操作系统的镜像层信息,构造操作系统镜像信息库,操作系统镜像信息库中包括各个预设操作系统的镜像层信息。
操作系统镜像信息库中除了包括各个预设操作系统的镜像层信息之外,还可以包括镜像仓库名、项目名、镜像名以及镜像创建时间。
需要说明的是,预设操作系统的镜像可以为操作系统的基础镜像。
至此,完成操作系统镜像信息库的构造,在构造完操作系统镜像信息库之后,在S106中,可以将操作系统镜像信息库中的预设操作系统的镜像层信息与第一镜像层信息匹配,得到匹配结果。
在S106之后,容器应用内软件包安装方法还包括:
S108,在匹配结果为目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,根据目标操作系统,在目标容器应用内安装软件包,目标操作系统为至少一个预设操作系统中的操作系统。
在S108中,在各个预设操作系统的镜像层信息与第一镜像层信息均不匹配的情况下,说明目标容器应用的基础镜像层不在操作系统镜像信息库中,可以返回目标容器应用的镜像不受支持的提示信息。
在预设操作系统中的目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,说明目标容器应用运行在目标操作系统的环境下,则可以根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。
由此,实现了自动在目标容器应用内安装软件包,简化了用户安装软件包的方式,提高软件包的安装效率。在面对突发情况下,可以及时使用软件包来应对该突发情况。另外,由于自动进行软件包的安装,不需要用户了解各个操作系统的软件包的安装方式,降低了对用户的要求,方便用户在异构容器应用(不同操作系统的容器应用)内安装软件包。
除此之外,在容器应用运行时,在容器应用内安装的软件包为临时数据,在容器应用重启或更新后即恢复到安装前,不额外占用应用资源。
在本申请的一个或多个实施例中,根据目标操作系统,在目标容器应用内安装软件包,可以包括:
获取第一镜像标识,第一镜像标识为目标操作系统的镜像的标识,比如,第一镜像标识为目标操作系统的镜像的名称;
在镜像标识与软件源地址之间的预设对应关系中,获取第一镜像标识对应的目标软件源地址,预设对应关系中的镜像标识为预设操作系统的镜像标识,预设对应关系中的软件源地址对应的软件源中包括适用于预设操作系统的软件包;
根据目标软件源地址,在目标容器应用内安装软件包。
在本申请实施例中,在匹配得到目标操作系统之后,根据目标操作系统的镜像的第一镜像标识,在镜像标识与软件源地址之间的预设对应关系中,获取与第一镜像标识对应的目标软件源地址。获取到了目标软件源地址相当于获取到了目标软件源,然后,可以根据目标软件源地址,在目标容器应用内安装来自目标软件源的软件包,使得在目标容器应用内安装的软件包与目标容器应用的操作系统相适应。
需要说明的是,可以预先构造镜像标识与软件源地址之间的预设对应关系。下面以镜像标识为镜像名称为例说明如何构造预设对应关系。
接收用户的触发输入之前,容器应用内软件包安装方法还可以包括:
获取各个预设操作系统的镜像标识(比如镜像名称或者镜像编号)以及各个预设操作系统对应的软件源的地址;
根据各个预设操作系统的镜像标识以及各个预设操作系统对应的软件源的地址,创建镜像标识与软件源地址之间的预设对应关系,预设操作系统对应的软件源中包括适用于预设操作系统的软件包。
预设对应关系可以以表格的形式进行存储,形成软件源表。
在本申请的一个或多个实施例中,根据目标软件源地址,在目标容器应用内安装软件包,可以包括:
根据目标容器应用的运行环境,确定目标容器应用的命令执行接口,其中,当目标容器应用在裸docker环境下运行时,命令执行接口为docker exec api,当目标容器应用在k8s(Kubernetes)环境下运行时,命令执行接口为pod exec api;
通过目标容器应用的命令执行接口,在目标容器应用内安装软件包。
需要说明的是,Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
在本申请的一个或多个实施例中,根据目标软件源地址,在目标容器应用内安装软件包,可以包括:
根据目标软件源地址,在预设软件源目录中获取目标软件源目录,预设软件源目录与预设操作系统一一对应,预设软件源目录中包括适用于对应预设操作系统的软件包;
从目标软件源目录中获取目标软件包;
在目标容器应用内安装目标软件包。
在本申请实施例中,在得到目标软件源地址之后,可以在各个预设软件源目录中获取目标软件源目录,目标软件源目录中包括适用于目标预设操作系统的软件包。而目标预设操作系统是目标容器应用运行的环境,因此,目标软件源目录中的软件包均能够被目标容器应用正常使用。由此,在目标容器应用内安装目标软件源目录中的目标软件包之后,目标软件包也能够被目标容器应用正常使用。
在本申请的一个或多个实施例中,目标软件包可以是目标软件源目录中任意的软件包,目标软件包还可以是由用户来确定的软件包。下面对从目标软件源目录中获取目标软件包进行示例性说明。
作为一个示例,从目标软件源目录中获取目标软件包,可以包括:
根据用户输入的软件包管理指令,从目标软件源目录中获取目标软件包。比如,软件包管理指令为yum指令、dpkg指令、apk指令;
在本示例中,用户可以输入软件包管理指令查询目标软件源目录中的目标软件包,以进行软件包的安装,使得软件包的安装符合用户的需求。
作为另一个示例,从目标软件源目录中获取目标软件包,可以包括:
根据用户输入的软件包名称,从目标软件源目录中查询与软件包名称对应的目标软件包。
在本示例中,可以根据用户输入的需要安装的软件包名称,从目标软件源目录中查询对应的目标软件包,以进行软件包的安装,使得软件包的安装符合用户的需求。
在本申请的一个或多个实施例中,接收用户的触发输入之前,方法还包括:
下载适用于各个预设操作系统的软件包;
对于各个预设操作系统,根据适用于预设操作系统的软件包,创建预设操作系统对应的预设软件源目录。
作为一个示例,可以通过create repo指令创建预设软件源目录。
在本申请实施例中,可以根据各个预设操作系统,将适用于同一预设操作系统的软件包划分为同一类,并根据同一类的软件包,创建预设软件源目录。也就是说,同一预设软件源目录中的软件包适用于同一预设操作系统。以便于后续在需要安装软件包时,可以在预设软件源目录中查询到目标软件包,以进行软件包的安装。
在本申请的一个或多个实施例中,各个预设软件源目录由代理服务器代理,比如,代理服务器为Nginx。Nginx(engine x)是一个高性能的超文本传输协议(HyperTextTransfer Protocol,HTTP)和反向代理万维网(web)服务器。
在预设软件源目录中获取与目标软件源地址对应的目标软件源目录,包括:
通过代理服务器,在预设软件源目录中获取目标软件源目录。
在本申请实施例中,通过将预设软件源目录暴露给代理服务器,由代理服务器代理预设软件源目录,这样即使目标容器应用在内网中,也可以通过代理服务器访问预设软件源目录。
本申请实施例的应用场景可以为云平台或内网环境下私有网络隔离、操作系统相异的不同容器应用在运维或排查问题过程中,需要临时安装软件包时,可以在云平台上统一使用本申请提供的容器应用内软件包安装方法来为容器应用安装软件包。在云平台或内网环境下,容器应用所处私有网络和平台底层节点网络、互联网等一般处于隔离状态,因此,容器应用默认无法使用外部网络的软件源。在此情况下,创建内网下操作系统的软件源,并通过nginx代理暴露给容器应用使用。
在本申请的一个或多个实施例中,目标容器应用的镜像包括多个第一镜像层,第一镜像层信息包括多个第一镜像层的摘要信息。
S106可以包括:
对于每个预设操作系统分别执行如下操作:比较预设操作系统的M个第二镜像层的摘要信息与M个第一镜像层的摘要信息是否一致,M表示第二镜像层的总层数,M个第一镜像层为从目标镜像的起始镜像层开始的M个第一镜像层,M个第二镜像层的摘要信息与M个第一镜像层的摘要信息一一对应,M为正整数;
在M个第二镜像层的摘要信息分别与对应的第一镜像层的摘要信息一致的情况下,确定预设操作系统的镜像层信息与第一镜像层信息匹配;
在至少一个第二镜像层的摘要信息与对应的第一镜像层的摘要信息不一致的情况下,确定预设操作系统的镜像层信息与第一镜像层信息不匹配。
下面通过一个示例说明本申请实施例。
预设操作系统A的镜像包括4个镜像层,将预设操作系统A的镜像层信息与目标容器应用的镜像层信息进行匹配,具体可以包括:
将预设操作系统A的4个镜像层的摘要信息与目标容器应用的4个镜像层的摘要信息进行一一对比,其中,目标容器应用的4个镜像层是从目标容器应用的起始镜像层(即最底层的镜像层)开始的4个镜像层。
在预设操作系统A的4个镜像层的摘要信息与目标容器应用的4个镜像层的摘要信息一一对应一致的情况下,确定预设操作系统A的镜像层信息与目标容器应用的镜像层信息匹配,否则,确定预设操作系统A的镜像层信息与目标容器应用的镜像层信息不匹配。
由此,实现了在各个预设操作系统中找到目标容器应用的目标操作系统,可以根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。
下面通过图2进一步地说明本申请提供的容器应用内软件包安装方法,图2是本申请提供的容器应用内软件包安装方法的另一个实施例的流程示意图。如图2所示,容器应用内软件包安装方法包括:
S202,创建软件源目录,该创建的软件源目录即为上述的预设软件源目录。
在S202中,具体可以包括:下载适用于各个预设操作系统的软件包;根据适用于同一预设操作系统的软件包,创建与该预设操作系统对应的软件源目录;创建nginx服务组件,代理软件源目录。由于不同软件源对应不同的路径,因此,可以通过不同路径区分不同操作系统及不同版本的软件源。
需要说明的是,如果是在容器平台环境下可以通过容器平台创建nginx服务组件;如果不是在容器平台环境下,可以直接运行nginx服务或者通过docker启动,这里可以不做限制。
容器应用内软件包安装方法还包括:
S204,构造操作系统镜像信息库以及软件源表。
在S204中,可以根据S202中的各个预设操作系统,下载各个预设操作系统的镜像,然后获取各个预设操作系统的镜像层信息;构造操作系统镜像信息库,该操作系统镜像信息库中包括各个预设操作系统的镜像层信息,除此之外,该操作系统镜像信息库中还可以包括镜像仓库名、项目名、镜像名以及镜像创建时间。
另外,还根据各个预设操作系统的镜像对应的软件源版本,确定对应的软件源地址,然后,根据软件源地址和各个预设操作系统的镜像名称,构造软件源表,该软件源表中包括镜像名称与软件源地址之间的对应关系。
容器应用内软件包安装方法还包括:
S206,接收用户的触发输入,触发输入用于为目标容器应用安装软件包;
S208,响应于触发输入,根据操作系统镜像信息库,判断各个预设操作系统中是否存在目标容器应用的目标操作系统;在存在目标操作系统的情况下,执行S210;在不存在目标操作系统的情况下,执行S214;
S210,根据目标操作系统,在软件源表中查询目标软件源地址,目标软件源地址为适用于目标操作系统的软件源的地址;
S212,根据目标软件源地址和各个软件源目录,在目标容器应用内安装软件包;
S214,返回目标容器应用的镜像不受支持的提示信息。
如图3所示,用于实现本申请实施例的容器应用内软件包安装方法的关键组件包括:软件源组件(os-source)、操作系统镜像信息库以及软件源表(os-repodb)以及配置组件(pkg-admin)。os-source可以用于执行S202,os-source可以为nginx服务,代理后端各个预设操作系统的软件源地址,并根据路径分类;os-repodb包括操作系统镜像信息库以及软件源表,pkg-admin执行的操作至少包括S208至S214。
下面结合图4说明pkg-admin的工作流程,如图4所示,pkg-admin的工作流程包括:
S302,触发pkg-admin;
S304,调用配置接口(比如docker inspect api或者harbor pullmanifest api),获取第一镜像层信息,第一镜像层信息为目标容器应用的镜像中各层的信息;
S306,遍历操作系统镜像信息库,并将操作系统镜像信息库中的预设操作系统的镜像层信息与第一镜像层信息进行匹配;
S308,根据匹配结果,判断各个预设操作系统中是否存在目标容器应用的目标操作系统,在存在目标操作系统的情况下,执行S310;在不存在目标操作系统的情况下,执行S314;
S310,根据目标操作系统,在软件源表中查询目标软件源地址;
S312,调用执行接口(比如docker exec api或者pod exec api),根据目标软件源地址,通过执行接口在目标容器应用内安装软件包;
S314,返回目标容器应用的镜像不受支持的提示信息。
上述是对本申请提供的容器应用内软件包安装方法的说明,与本申请提供的容器应用内软件包安装方法对应地,本申请还提供一种容器应用内软件包安装装置。图5是本申请提供的一种容器应用内软件包安装装置的一个实施例的结构示意图。如图5所示,容器应用内软件包安装装置400包括:
接收模块402,用于接收用户的触发输入,触发输入用于为目标容器应用安装软件包;
第一获取模块404,用于响应于触发输入,获取第一镜像层信息,第一镜像层信息为目标容器应用的镜像中各层的信息;
匹配模块406,用于将至少一个预设操作系统的镜像层信息分别与第一镜像层信息匹配,得到匹配结果,预设操作系统为容器应用的操作系统;
安装模块408,用于在匹配结果为目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,根据目标操作系统,在目标容器应用内安装软件包,目标操作系统为至少一个预设操作系统中的操作系统。
在本申请实施例中,在预设操作系统中的目标操作系统的镜像层信息与第一镜像层信息匹配的情况下,说明目标容器应用运行在目标操作系统的环境下,则可以根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。
由此,实现了自动在目标容器应用内安装软件包,简化了用户安装软件包的方式,提高软件包的安装效率。在面对突发情况下,可以及时使用软件包来应对该突发情况。另外,由于自动进行软件包的安装,不需要用户了解各个操作系统的软件包的安装方式,降低了对用户的要求。
在本申请的一个或多个实施例中,安装模块408可以包括:
第一获取单元,用于获取第一镜像标识,第一镜像标识为目标操作系统的镜像的标识;
第二获取单元,用于在镜像标识与软件源地址之间的预设对应关系中,获取第一镜像标识对应的目标软件源地址,预设对应关系中的镜像标识为预设操作系统的镜像标识,预设对应关系中的软件源地址对应的软件源中包括适用于预设操作系统的软件包;
安装单元,用于根据目标软件源地址,在目标容器应用内安装软件包。
在本申请实施例中,在匹配得到目标操作系统之后,根据目标操作系统的镜像的第一镜像标识,在镜像标识与软件源地址之间的预设对应关系中,获取与第一镜像标识对应的目标软件源地址。获取到了目标软件源地址相当于获取到了目标软件源,然后,可以根据目标软件源地址,在目标容器应用内安装来自目标软件源的软件包,使得在目标容器应用内安装的软件包与目标容器应用的操作系统相适应。
在本申请的一个或多个实施例中,安装单元可以包括:
第一获取子单元,用于根据目标软件源地址,在预设软件源目录中获取目标软件源目录,预设软件源目录与预设操作系统一一对应,预设软件源目录中包括适用于对应预设操作系统的软件包;
第二获取子单元,用于从目标软件源目录中获取目标软件包;
安装子单元,用于在目标容器应用内安装目标软件包。
在本申请实施例中,在得到目标软件源地址之后,可以在各个预设软件源目录中获取目标软件源目录,目标软件源目录中包括适用于目标预设操作系统的软件包。而目标预设操作系统是目标容器应用运行的环境,因此,目标软件源目录中的软件包均能够被目标容器应用正常使用。由此,在目标容器应用内安装目标软件源目录中的目标软件包之后,目标软件包也能够被目标容器应用正常使用。
在本申请的一个或多个实施例中,第二获取子单元具体可以用于:
根据用户输入的软件包管理指令,从目标软件源目录中获取目标软件包;
或者,
根据用户输入的软件包名称,从目标软件源目录中查询与软件包名称对应的目标软件包。
在本申请实施例中,用户可以根据自己的需求,从目标软件源目录中查询对应的目标软件包,以进行软件包的安装,使得软件包的安装符合用户的需求。
在本申请的一个或多个实施例中,容器应用内软件包安装装置400还可以包括:
第一下载模块,用于下载适用于各个预设操作系统的软件包;
第一创建模块,用于对于各个预设操作系统,根据适用于预设操作系统的软件包,创建预设操作系统对应的预设软件源目录。
在本申请实施例中,可以根据各个预设操作系统,将适用于同一预设操作系统的软件包划分为同一类,并根据同一类的软件包,创建预设软件源目录。也就是说,同一预设软件源目录中的软件包适用于同一预设操作系统。以便于后续在需要安装软件包时,可以在预设软件源目录中查询到目标软件包,以进行软件包的安装。
在本申请的一个或多个实施例中,各个预设软件源目录由代理服务器代理,第一获取子单元具体可以用于:
通过代理服务器,在预设软件源目录中获取目标软件源目录。
在本申请实施例中,通过将预设软件源目录暴露给代理服务器,由代理服务器代理预设软件源目录,这样即使目标容器应用在内网中,也可以通过代理服务器访问预设软件源目录。
在本申请的一个或多个实施例中,容器应用内软件包安装装置400还可以包括:
第二获取模块,用于获取各个预设操作系统的镜像标识以及各个预设操作系统对应的软件源的地址;
第二创建模块,用于根据各个预设操作系统的镜像标识以及各个预设操作系统对应的软件源的地址,创建预设对应关系,预设操作系统对应的软件源中包括适用于预设操作系统的软件包。
在本申请的一个或多个实施例中,目标容器应用的镜像包括多个第一镜像层,第一镜像层信息包括多个第一镜像层的摘要信息;匹配模块406可以包括:
比较单元,用于对于每个预设操作系统分别执行如下操作:比较预设操作系统的M个第二镜像层的摘要信息与M个第一镜像层的摘要信息是否一致,M表示第二镜像层的总层数,M个第一镜像层为从目标镜像的起始镜像层开始的M个第一镜像层,M个第二镜像层的摘要信息与M个第一镜像层的摘要信息一一对应,M为正整数;
第一确定单元,用于在M个第二镜像层的摘要信息分别与对应的第一镜像层的摘要信息一致的情况下,确定预设操作系统的镜像层信息与第一镜像层信息匹配;
第二确定单元,用于在至少一个第二镜像层的摘要信息与对应的第一镜像层的摘要信息不一致的情况下,确定预设操作系统的镜像层信息与第一镜像层信息不匹配。
由此,实现了在各个预设操作系统中找到目标容器应用的目标操作系统,可以根据目标操作系统在目标容器应用内安装软件包,使得安装的软件包可以适用于目标容器应用的目标操作系统。
在本申请的一个或多个实施例中,容器应用内软件包安装装置400还可以包括:
第二下载模块,用于下载预设操作系统的镜像;
第三获取模块,用于根据预设操作系统的镜像,获取预设操作系统的镜像层信息;
构造模块,用于根据各个预设操作系统的镜像层信息,构造操作系统镜像信息库,操作系统镜像信息库中包括各个预设操作系统的镜像层信息;
匹配模块406具体可以用于:
将操作系统镜像信息库中的预设操作系统的镜像层信息与第一镜像层信息匹配,得到匹配结果。
在本申请的一个或多个实施例中,第一获取模块404具体可以用于:
根据目标容器应用的第二镜像标识,通过配置接口获取第一镜像层信息,在目标容器应用的镜像存储在本地的情况下,配置接口为docker镜像配置检查接口,在目标容器应用的镜像存储在镜像仓库的情况下,配置接口为镜像仓库的镜像元数据获取接口。
本申请还提供一种计算机设备,计算机设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意一项实施例的容器应用内软件包安装方法。
图6示出了本申请提供的计算机设备的一个实施例的硬件结构示意图。
如图6所示,计算机设备可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器502可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以实现上述任意一项实施例的容器应用内软件包安装方法。
在一个示例中,计算机设备还可包括通信接口503和总线510。其中,如图6所示,处理器501、存储器502、通信接口503通过总线510连接并完成相互间的通信。
通信接口503,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线510包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线510可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的容器应用内软件包安装方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种容器应用内软件包安装方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质可以包括非暂态计算机可读存储介质,比如包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质,机器可读介质还可以包括射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种容器应用内软件包安装方法,其特征在于,包括:
接收用户的触发输入,所述触发输入用于为目标容器应用安装软件包;
响应于所述触发输入,获取第一镜像层信息,所述第一镜像层信息为所述目标容器应用的镜像中各层的信息;
将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,所述预设操作系统为容器应用的操作系统;
在所述匹配结果为目标操作系统的镜像层信息与所述第一镜像层信息匹配的情况下,根据所述目标操作系统,在所述目标容器应用内安装软件包,所述目标操作系统为所述至少一个预设操作系统中的操作系统;
其中,所述根据所述目标操作系统,在所述目标容器应用内安装软件包,包括:
获取第一镜像标识,所述第一镜像标识为所述目标操作系统的镜像的标识;
在镜像标识与软件源地址之间的预设对应关系中,获取所述第一镜像标识对应的目标软件源地址,所述预设对应关系中的镜像标识为所述预设操作系统的镜像标识,所述预设对应关系中的软件源地址对应的软件源中包括适用于所述预设操作系统的软件包;
根据所述目标软件源地址,通过代理服务器,在预设软件源目录中获取目标软件源目录,所述预设软件源目录与所述预设操作系统一一对应,所述预设软件源目录中包括适用于对应所述预设操作系统的软件包;
从所述目标软件源目录中获取目标软件包;
在所述目标容器应用内安装所述目标软件包。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标软件源目录中获取目标软件包,包括:
根据用户输入的软件包管理指令,从所述目标软件源目录中获取所述目标软件包;
或者,
根据用户输入的软件包名称,从所述目标软件源目录中查询与所述软件包名称对应的所述目标软件包。
3.根据权利要求1所述的方法,其特征在于,所述接收用户的触发输入之前,所述方法还包括:
下载适用于各个所述预设操作系统的软件包;
对于各个所述预设操作系统,根据适用于所述预设操作系统的软件包,创建所述预设操作系统对应的所述预设软件源目录。
4.根据权利要求1所述的方法,其特征在于,所述接收用户的触发输入之前,所述方法还包括:
获取各个所述预设操作系统的镜像标识以及各个所述预设操作系统对应的软件源的地址;
根据各个所述预设操作系统的镜像标识以及各个所述预设操作系统对应的软件源的地址,创建所述预设对应关系,所述预设操作系统对应的软件源中包括适用于所述预设操作系统的软件包。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述目标容器应用的镜像包括多个第一镜像层,所述第一镜像层信息包括所述多个第一镜像层的摘要信息;
所述将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,包括:
对于每个所述预设操作系统分别执行如下操作:比较所述预设操作系统的M个第二镜像层的摘要信息与M个所述第一镜像层的摘要信息是否一致,M表示所述第二镜像层的总层数,M个所述第一镜像层为从所述目标镜像的起始镜像层开始的M个所述第一镜像层,M个所述第二镜像层的摘要信息与M个所述第一镜像层的摘要信息一一对应,M为正整数;
在M个所述第二镜像层的摘要信息分别与对应的所述第一镜像层的摘要信息一致的情况下,确定所述预设操作系统的镜像层信息与所述第一镜像层信息匹配;
在至少一个所述第二镜像层的摘要信息与对应的所述第一镜像层的摘要信息不一致的情况下,确定所述预设操作系统的镜像层信息与所述第一镜像层信息不匹配。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述接收用户的触发输入之前,所述方法还包括:
下载所述预设操作系统的镜像;
根据所述预设操作系统的镜像,获取所述预设操作系统的镜像层信息;
根据各个所述预设操作系统的镜像层信息,构造操作系统镜像信息库,所述操作系统镜像信息库中包括各个所述预设操作系统的镜像层信息;
所述将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,包括:
将所述操作系统镜像信息库中的所述预设操作系统的镜像层信息与所述第一镜像层信息匹配,得到所述匹配结果。
7.根据权利要求1至4任意一项所述的方法,其特征在于,所述获取第一镜像层信息,包括:
根据所述目标容器应用的第二镜像标识,通过配置接口获取所述第一镜像层信息,在所述目标容器应用的镜像存储在本地的情况下,所述配置接口为docker镜像配置检查接口,在所述目标容器应用的镜像存储在镜像仓库的情况下,所述配置接口为镜像仓库的镜像元数据获取接口。
8.一种容器应用内软件包安装装置,其特征在于,包括:
接收模块,用于接收用户的触发输入,所述触发输入用于为目标容器应用安装软件包;
第一获取模块,用于响应于所述触发输入,获取第一镜像层信息,所述第一镜像层信息为所述目标容器应用的镜像中各层的信息;
匹配模块,用于将至少一个预设操作系统的镜像层信息分别与所述第一镜像层信息匹配,得到匹配结果,所述预设操作系统为容器应用的操作系统;
安装模块,用于在所述匹配结果为目标操作系统的镜像层信息与所述第一镜像层信息匹配的情况下,根据所述目标操作系统,在所述目标容器应用内安装软件包,所述目标操作系统为所述至少一个预设操作系统中的操作系统;
其中,所述安装模块,包括:
第一获取单元,用于获取第一镜像标识,所述第一镜像标识为所述目标操作系统的镜像的标识;
第二获取单元,用于在镜像标识与软件源地址之间的预设对应关系中,获取所述第一镜像标识对应的目标软件源地址,所述预设对应关系中的镜像标识为所述预设操作系统的镜像标识,所述预设对应关系中的软件源地址对应的软件源中包括适用于所述预设操作系统的软件包;
第一获取子单元,用于根据所述目标软件源地址,通过代理服务器,在预设软件源目录中获取目标软件源目录,所述预设软件源目录与所述预设操作系统一一对应,所述预设软件源目录中包括适用于对应所述预设操作系统的软件包;
第二获取子单元,用于从所述目标软件源目录中获取目标软件包;
安装子单元,用于在所述目标容器应用内安装所述目标软件包。
9.一种计算机设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的容器应用内软件包安装方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的容器应用内软件包安装方法。
CN202110063742.9A 2021-01-18 2021-01-18 容器应用内软件包安装方法、装置、计算机设备及介质 Active CN112799688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110063742.9A CN112799688B (zh) 2021-01-18 2021-01-18 容器应用内软件包安装方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110063742.9A CN112799688B (zh) 2021-01-18 2021-01-18 容器应用内软件包安装方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN112799688A CN112799688A (zh) 2021-05-14
CN112799688B true CN112799688B (zh) 2024-06-18

Family

ID=75810175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110063742.9A Active CN112799688B (zh) 2021-01-18 2021-01-18 容器应用内软件包安装方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN112799688B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448601B (zh) * 2021-08-30 2022-01-11 阿里云计算有限公司 基于内容分发网络的软件包安装方法、装置、设备和系统
US11960870B2 (en) * 2022-02-23 2024-04-16 International Business Machines Corporation Container image management
CN114461271B (zh) * 2022-04-12 2022-06-21 梯度云科技(北京)有限公司 一种节省存储空间的容器镜像打包方法及装置
CN116074063B (zh) * 2022-12-29 2024-06-07 中国联合网络通信集团有限公司 服务部署及专网隔离的实现方法、装置、设备及存储介质
CN115758334A (zh) * 2023-01-06 2023-03-07 天津卓朗昆仑云软件技术有限公司 云应用的访问方法、装置、电子设备及存储介质
CN116166473A (zh) * 2023-02-27 2023-05-26 北京远舢智能科技有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739518A (zh) * 2018-12-25 2019-05-10 杭州数梦工场科技有限公司 生成离线软件资源的方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924954B2 (en) * 2011-11-22 2014-12-30 Huawei Technologies Co., Ltd. Application software installation method and application software installation apparatus
US9176720B1 (en) * 2012-04-23 2015-11-03 Google Inc. Installation of third-party web applications into a container
US10216506B2 (en) * 2017-04-07 2019-02-26 International Business Machines Corporation Location-based automatic software application installation
CN109032602B (zh) * 2018-06-07 2021-09-14 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN108984268A (zh) * 2018-07-13 2018-12-11 郑州云海信息技术有限公司 Docker系统中容器管理的方法和装置
CN110912955B (zh) * 2018-09-17 2022-04-05 阿里巴巴集团控股有限公司 容器镜像下载、上传方法及装置
CN110196731B (zh) * 2018-10-29 2021-05-11 腾讯科技(深圳)有限公司 一种运维系统、方法及存储介质
CN111666129B (zh) * 2020-06-03 2022-03-22 科东(广州)软件科技有限公司 容器镜像处理方法、电子设备、存储介质及系统
CN112230946A (zh) * 2020-11-18 2021-01-15 浪潮云信息技术股份公司 一种基于容器的应用系统部署方法及相关装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739518A (zh) * 2018-12-25 2019-05-10 杭州数梦工场科技有限公司 生成离线软件资源的方法及装置

Also Published As

Publication number Publication date
CN112799688A (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN112799688B (zh) 容器应用内软件包安装方法、装置、计算机设备及介质
CN111182089B (zh) 容器集群系统和访问大数据组件的方法、装置及服务器
US8578372B2 (en) Business-in-a-box integration server and integration method
CN112764823B (zh) Nvr系统的启动方法、主机操作系统和数据通信方法
CN113395340A (zh) 一种信息更新方法、装置、设备、系统和可读存储介质
WO2021197579A1 (en) Method for deploying application software in cloud environments
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
US8086627B2 (en) Software inventorying system for a shared file system
JP2023531701A (ja) 効率的コントローラデータ生成および抽出
CN109582487B (zh) 用于发送信息的方法和装置
CN109375946B (zh) 一种管理节点包管理器的组件包的方法及系统
CN115883512A (zh) Dns域名处理方法、装置、系统、设备及介质
CN115994124A (zh) 文件扫描方法、装置、电子设备和计算机可读存储介质
CN115396159A (zh) 一种容器镜像的检测方法及客户端、服务端
WO2016165468A1 (zh) 一种管理应用系统的方法、装置和系统
CN109634931B (zh) 一种日志上传方法及装置
CN112685102A (zh) 一种网关插件热加载方法、装置、设备及介质
CN112835609A (zh) 一种修改依赖包下载地址的方法和装置
CN110929500B (zh) 文件比较方法及相关装置
CN117492933B (zh) 数据交换方法、装置、电子设备及存储介质
CN117056030B (zh) 容器逃逸的确定方法及装置
CN115174367B (zh) 一种业务系统边界确定方法、装置、电子设备及存储介质
US12003347B2 (en) System and method for retrieving data from a non-networked, remotely-located data generating device
CN112256646B (zh) 操作文件系统子目录的方法、装置、电子设备及存储介质
CN107391202B (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