CN110032376B - 基于Docker的自动化软件部署方法及装置 - Google Patents

基于Docker的自动化软件部署方法及装置 Download PDF

Info

Publication number
CN110032376B
CN110032376B CN201811521308.5A CN201811521308A CN110032376B CN 110032376 B CN110032376 B CN 110032376B CN 201811521308 A CN201811521308 A CN 201811521308A CN 110032376 B CN110032376 B CN 110032376B
Authority
CN
China
Prior art keywords
software
docker
deployed
container
deployment
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
CN201811521308.5A
Other languages
English (en)
Other versions
CN110032376A (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 Academy of Electronic and Information Technology of CETC
Original Assignee
China Academy of Electronic and Information Technology of CETC
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 Academy of Electronic and Information Technology of CETC filed Critical China Academy of Electronic and Information Technology of CETC
Priority to CN201811521308.5A priority Critical patent/CN110032376B/zh
Publication of CN110032376A publication Critical patent/CN110032376A/zh
Application granted granted Critical
Publication of CN110032376B publication Critical patent/CN110032376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

本发明公开了一种基于Docker的自动化软件部署方法及装置,所述方法包括:从被部署软件的部署描述信息中找到被部署软件所需全部运行环境所对应的全部Docker镜像,或者,找到被部署软件所需部分运行环境所对应的部分Docker镜像;将全部Docker镜像文件和被部署软件包,或者,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩;实例化镜像,启动容器,并将被部署软件包,或者,将被部署软件包和依赖软件包挂载于所述容器中。

Description

基于Docker的自动化软件部署方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于Docker的自动化软件部署方法及装置。
背景技术
在现有技术中,云时代的自动化软件部署方法按技术路线可分为两种。第一种方案以云主机为部署基质。其软件部署步骤为:步骤1,创建软件运行所需的云主机;步骤2,执行脚本在创建好的云主机中安装配置依赖软件;步骤3,复制软件并配置软件参数;步骤4,调用脚本启动软件。
由于依赖软件的安装配置情况复杂,故而该方案的一种变化是使用已配置好依赖软件的云主机镜像来创建软件所需云主机,将安装配置依赖软件的过程提前到自动化部署过程之外,由人工介入规避掉安装配置依赖软件的复杂性,降低方案的整体技术难度。变化后的软件部署步骤为步骤1、3、4。该变化带来的问题是云主机镜像数量的激增。设环境中操作系统数量为M,依赖软件的数量为N,若每个操作系统中提前预置一个依赖软件,则所需云主机镜像数量为M×N。每个软件的依赖软件数目通常不止一个。若每个操作系统中提前预置两个依赖软件,则所需云主机镜像数量为那么,若每个操作系统中提前预置1到P(P>0)个依赖软件,则所需云主机镜像数为/>当N较大时,这个数字是很大的。当然,并不是每种依赖软件的组合都是有意义的,然而,每个软件对依赖软件的配置要求也是不完全相同的,一增一减之下,所需云主机镜像的数量仍是很大的数字。该变化的好处是回避了技术问题,坏处是带来了管理问题。
第二种方案是以Docker镜像为部署基质。其软件部署步骤为:步骤1,分发Docker镜像;步骤2,将软件参数附在启动命令中启动分发的Docker镜像。
由于Docker镜像中包含了软件的运行环境,故而这种方案的步骤比第一种方案更简捷,技术难度也更低。镜像数量与软件数量一致,也未给管理上带来额外的负担。第一种方案所用的云主机技术,在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统。而Docker容器是在操作系统层面实现虚拟化,直接复用本机操作系统,因此更加轻量级,性能方面也更加高效。Docker的轻量级,体现在镜像小、启动快、资源占用少三个方面。性能方面,Docker容器有接近原生系统的表现,云主机则明显弱于原生系统。这些特点使其更适用于云时代的软件自动化部署,目前已经大量作为PaaS产品的环境基础在使用。总体上来讲,第二种方案优于第一种方案。在实践中,第二种方案被越来越多地使用,第一种方案正在逐渐地淘汰。
但上述第二种方案仍旧存在需要完善的地方,具体地:
1、毒镜像问题。由于Docker镜像是由被部署软件的提供者自行准备的,故其来源是不可控的。被部署软件提供者所使用的基础镜像可能含有恶意程序而其不自知,其也有可能有意在docker镜像中置入恶意程序以达成某些不可告人的目的。毒镜像中可能的木马、后门等程序对整个系统而言是巨大的安全威胁。毒镜像的识别在技术上而言是无法做到百分百检出的,只有控制镜像来源才能杜绝毒镜像的问题。
2、镜像漏洞问题。漏洞问题对于软件来说是普遍存在的。目前从公共渠道获取的Docker镜像中普遍存在有漏洞的软件,在被部署软件提供者的配合下,可以通过扫描漏洞并升级软件或打补丁的方式解决漏洞问题。但漏洞问题会引起麻烦的地方在于软件的漏洞是逐渐发现的,今时今日被视作安全的软件在未来的某一天会被发现仍旧存在漏洞。对Docker镜像来说,升级软件或打补丁是一个不能完成的操作。当发现一个镜像有漏洞时,只能放弃它,然后重新做一个镜像。这意味着,在发现镜像有漏洞时,需要等待其提供者来修复该漏洞。若提供者响应或处置不及时,对系统安全防护会造成很大的压力。当镜像中普通存在的软件被发现有漏洞时,大批量镜像的更新升级是一个艰巨的工作。
3、镜像臃肿问题。由于技术水平的差异,同一个软件由不同的人作出的镜像是有大有小的。镜像越小,启动越快,资源消耗越少。少量部署时,镜像大小的影响不明显。规模大到一定程度后,资源的消耗就是一个不得不重视的问题,镜像的精简不再是一个可做可不做的事情。Docker镜像是否足够精简很难通过对Docker镜像外部特征的观测来判断,需要具备专业水平的人来制作镜像来能作到最大化的精简,这也是大家都基于公开仓库中的基础镜像制作自己镜像的原因之一。对自动化的软件部署系统而言,来自外部的镜像是臃肿还是精简是未知的。可以要求软件提供者对镜像作精简,但其效果很难度量。
发明内容
本发明实施例提供一种基于Docker的自动化软件部署方法及装置,用以解决现有技术中的上述问题。
本发明实施例提供一种基于Docker的自动化软件部署方法,包括:
从被部署软件的部署描述信息中找到被部署软件所需全部运行环境所对应的全部Docker镜像,或者,找到被部署软件所需部分运行环境所对应的部分Docker镜像;
将全部Docker镜像文件和被部署软件包,或者,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩;
实例化镜像,启动容器,并将被部署软件包,或者,将被部署软件包和依赖软件包挂载于所述容器中。
优选地,将全部Docker镜像文件和被部署软件包,分发到部署节点并进行解压缩具体包括:
分发全部Docker镜像文件和被部署软件包到选定的部署节点;
将被部署软件包解压缩到第一目录D。
优选地,实例化镜像,启动容器,并将被部署软件包挂载于所述容器中具体包括:
实例化镜像,启动容器,并通过启动参数将所述第一目录D挂载为容器内的第一预定目录X。
优选地,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩具体包括:
从被部署软件的部署描述信息中找到未被制作为Docker镜像的n个依赖软件包;
分发部分Docker镜像文件、被部署软件包、以及依赖软件包到选定的部署节点;
将依赖软件包解压缩到第二目录Pi,其中1<i<n;
将被部署软件包解压缩到第一目录D。
优选地,实例化镜像,启动容器,并将被部署软件包和依赖软件包挂载于所述容器中具体包括:
实例化镜像,启动容器,并通过启动参数将所述第一目录D挂载为容器内的第一预定目录X,将第二目录Pi挂载为容器内的第二预定目录Qi
优选地,将被部署软件包解压缩到第一目录D之后,所述方法进一步包括:
如果被部署软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
优选地,将依赖软件包解压缩到第二目录Pi之后,所述方法进一步包括:
如果依赖软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
优选地,所述第一预定目录X为容器预留的用于放置被部署软件的目录,于制作Docker镜像时确定。
优选地,所述第二预定目录Qi为容器中依赖软件的部署路径,其中,每个依赖软件的部署路径均为固定的,在制作依赖软件包时指定。
本发明实施例还提供一种基于Docker的自动化软件部署装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法的步骤。
采用本发明实施例,在基于容器技术的自动化软件部署系统中实现了对镜像的完全控制,杜绝了由外部向自动化软件部署系统中输入毒镜像的可能,回避了因容器中已知的软件漏洞导致的系统安全问题,解决了镜像臃肿问题,支持了传统的通过配置文件来配置参数的软件的容器化部署。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的基于Docker的自动化软件部署方法的流程图;
图2是本发明实施例中基本软件部署的流程图;
图3是本发明实施例中外挂依赖软件部署的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例在现有技术中所述的第二种软件自动化部署方案的基础上构建,从而形成一个更安全、更高效的软件自动化部署方案。
本发明实施例分离软件核心本体和软件运行支撑环境,将后者制作为docker镜像,前者在容器启动时挂载于容器中。分离之后,docker镜像可以由自动化软件部署系统的开发方或运维方集中制作,有效杜绝了毒镜像的出现,并保证了镜像的精简程度在自动化软件部署系统的所有方可接受的范围内,可以全面封堵镜像中已知的软件漏洞。在新的软件漏洞被发现后,也可以迅速地通过升级软件或打补丁等方式更新镜像,及时封堵漏洞。
根据本发明的实施例,提供了一种基于Docker的自动化软件部署方法,图1是本发明实施的基于Docker的自动化软件部署方法的流程图,如图1所示,具体包括:
步骤1,从被部署软件的部署描述信息中找到被部署软件所需全部运行环境所对应的全部Docker镜像,或者,找到被部署软件所需部分运行环境所对应的部分Docker镜像;
步骤2,将全部Docker镜像文件和被部署软件包,或者,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩;
其中,将全部Docker镜像文件和被部署软件包,分发到部署节点并进行解压缩具体包括:
分发全部Docker镜像文件和被部署软件包到选定的部署节点;
将被部署软件包解压缩到第一目录D。
其中,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩具体包括:
从被部署软件的部署描述信息中找到未被制作为Docker镜像的n个依赖软件包;
分发部分Docker镜像文件、被部署软件包、以及依赖软件包到选定的部署节点;
将依赖软件包解压缩到第二目录Pi,其中1<i<n;
将被部署软件包解压缩到第一目录D。
步骤3,实例化镜像,启动容器,并将被部署软件包,或者,将被部署软件包和依赖软件包挂载于容器中。
其中,实例化镜像,启动容器,并将被部署软件包挂载于容器中具体包括:
实例化镜像,启动容器,并通过启动参数将第一目录D挂载为容器内的第一预定目录X。
其中,实例化镜像,启动容器,并将被部署软件包和依赖软件包挂载于容器中具体包括:
实例化镜像,启动容器,并通过启动参数将第一目录D挂载为容器内的第一预定目录X,将第二目录Pi挂载为容器内的第二预定目录Qi
在本发明实施例中,将被部署软件包解压缩到第一目录D之后,进一步包括:
如果被部署软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
在本发明实施例中,将依赖软件包解压缩到第二目录Pi之后,进一步包括:
如果依赖软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
需要说明的是,第一预定目录X为容器预留的用于放置被部署软件的目录,于制作Docker镜像时确定。第二预定目录Qi为容器中依赖软件的部署路径,其中,每个依赖软件的部署路径均为固定的,在制作依赖软件包时指定。
以下对本发明实施例的上述技术方案的两种实现方式分别进行说明。
根据本发明实施例的软件部署步骤见图1所述,具体包括如下处理:
步骤1,从软件的部署描述信息中找到被部署软件所需运行环境(含操作系统及依赖软件)对应的镜像;
步骤2,分发镜像文件及被部署软件包至选定的部署节点;
步骤3,解压被部署软件包,记解压后的目录为D,如果软件有需要修改参数的配置文件,执行步骤5,否则,执行步骤5;
步骤4,如果软件有需要修改参数的配置文件,则修改配置文件中的配置参数
步骤5,实例化镜像,启动容器,并通过启动参数将目录D挂载为容器内的目录X,其中,X是容器预留的用于放置软件的目录,制作镜像时确定。
对每一种可能的软件运行环境制作一个镜像,会出现背景技术中所述变化的第一种方案遭遇的问题。为避免陷入这种困境,本发明实施例只制作常用软件运行环境的镜像。不常用的软件运行环境通过在常用软件运行环境容器中挂载所缺依赖软件的方式实现,这种情况下的软件部署步骤见图2所述,具体包括:
步骤1,从软件的部署描述信息中找到被部署软件所需运行环境(含操作系统及部分依赖软件)对应的镜像及其他的依赖软件包;设依赖软件包有n个;
步骤2,分发镜像文件、依赖软件包、被部署软件包至选定的部署节点;
步骤3,解压依赖软件包,记解压后的目录为Pi,1<i<n;如果软件有需要修改参数的配置文件,执行步骤5,否则,执行步骤5;
步骤4,如果依赖软件有需要修改参数的配置文件,则修改文件中的配置参数
步骤5,解压软件包,记解压后的目录为D;如果软件有需要修改参数的配置文件,执行步骤6,否则,执行步骤7;
步骤6,如果软件有需要修改参数的配置文件,则修改文件中的配置参数;
步骤7,实例化镜像,启动容器,并通过启动参数将目录D挂载为容器内的目录X,将目录Pi挂载为容器内的目录Qi,1<i<n。X是容器预留的用于放置软件的目录,制作镜像时确定。Qi是依赖软件的部署路径,每个软件的部署路径均是固定的,在制作依赖软件包时指定。
如上所述,本发明实施例提供了一种分离被部署软件和其运行环境的容器化部署方案。有别于一般的将被部署软件和其运行环境整合为一个镜像的容器使用方式,本发明实施例仅将被部署软件的运行环境做作为镜像,而后在启动容器时通过挂载外部目录的方式将被部署软件置入其运行环境镜像生成的容器中。即未运行时,软件与其运行环境分别管理,运行时,软件与其运行环境按需组合。
本发明实施例还提供了一种分割常用依赖软件和非常用依赖软件的镜像管理及使用方案。将软件运行环境进一步分割,常用的操作系统加依赖软件组合封装为镜像,不常用的依赖软件单独管理,启动容器时通过挂载外部目录的方式将这部分依赖软件置入所需容器中。即未运行时,软件运行环境分割为常用组合及其他依赖软件分别管理,运行时,常用组合与其他依赖软件重新组成完整运行环境。需要指出的是,软件运行环境并不限于这一种分割方式,如分割为操作系统和依赖软件两部分,或分割为操作系统加无法挂载的依赖软件和其他依赖软件两部分等方式均是可行的。
综上所述,本发明实施例具有如下有益效果:
1、在基于容器技术的自动化软件部署系统中实现了对镜像的完全控制。有别于一般基于容器技术的自动玸部署系统中镜像由用户自动制作并提供的模式,采用本发明的所述方案的自动化软件部署系统中,镜像是由自动化软件部署系统的研制方或运维方制作并提供的,不会有无法追溯清楚来源的镜像出现。
2、杜绝了由外部向自动化软件部署系统中输入毒镜像的可能。基于前一效果,有效控制了镜像的来源,使从外部输入毒镜像的途径消失。
3、回避了因容器中已知的软件漏洞导致的系统安全问题。因所有镜像均是内部制作,处于完全受控状态,故可达成所有镜像中不存在已知软件漏洞这一目标。当新的软件漏洞被发现时,可快速及时响应,升级镜像并替换有软件漏洞的容器。从而回避了一般自动化软件部署系统中存在的因容器中已知软件漏洞导致的安全问题。
4、解决了镜像臃肿问题。因所有镜像均是内部制作,可实施对镜像质量的控制措施,从而保证镜像足够精简。此外,由于镜像中仅含软件运行环境,进一步降低了镜像的大小,并同时减少了镜像的数量。
5、支持了传统的通过配置文件来配置参数的软件的容器化部署。镜像在实例化为容器前及实例化为容器时,无法对修改镜像中的文件作修改,因此,比较传统的通过配置文件来配置参数的软件是不适宜容器化的。本发明中,仅将软件运行环境制作为镜像。在启动容器前,软件本体中的配置文件处于随时可修改的状态。因此,采用本发明的所述方案的自动化软件部署系统中,支持传统的通过配置文件来配置参数的软件的容器化部署。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于Docker的自动化软件部署方法,其特征在于,包括:
从被部署软件的部署描述信息中找到被部署软件所需全部运行环境所对应的全部Docker镜像,或者,找到被部署软件所需部分运行环境所对应的部分Docker镜像;镜像由自动化软件部署系统的研制方或运维方制作并提供;
将全部Docker镜像文件和被部署软件包,或者,将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩;
实例化镜像,启动容器,并将被部署软件包,或者,将被部署软件包和依赖软件包挂载于所述容器中;
将全部Docker镜像文件和被部署软件包,分发到部署节点并进行解压缩具体包括:
分发全部Docker镜像文件和被部署软件包到选定的部署节点;
将被部署软件包解压缩到第一目录D;
将部分Docker镜像、被部署软件包和未制作为Docker镜像的依赖软件包分发到部署节点并进行解压缩具体包括:
从被部署软件的部署描述信息中找到未被制作为Docker镜像的n个依赖软件包;
分发部分Docker镜像文件、被部署软件包、以及依赖软件包到选定的部署节点;
将依赖软件包解压缩到第二目录P i,其中1<i<n。
2.如权利要求1所述的方法,其特征在于,实例化镜像,启动容器,并将被部署软件包挂载于所述容器中具体包括:
实例化镜像,启动容器,并通过启动参数将所述第一目录D挂载为容器内的第一预定目录X。
3.如权利要求1所述的方法,其特征在于,实例化镜像,启动容器,并将被部署软件包和依赖软件包挂载于所述容器中具体包括:
实例化镜像,启动容器,并通过启动参数将所述第一目录D挂载为容器内的第一预定目录X,将第二目录Pi挂载为容器内的第二预定目录Qi。
4.如权利要求1所述的方法,其特征在于,将被部署软件包解压缩到第一目录D之后,所述方法进一步包括:
如果被部署软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
5.如权利要求1所述的方法,其特征在于,将依赖软件包解压缩到第二目录Pi之后,所述方法进一步包括:
如果依赖软件有需要修改参数的配置文件,则对配置文件中的配置参数进行修改。
6.如权利要求2或3所述的方法,其特征在于,所述第一预定目录X为容器预留的用于放置被部署软件的目录,于制作Docker镜像时确定。
7.如权利要求3所述的方法,其特征在于,所述第二预定目录Qi为容器中依赖软件的部署路径,其中,每个依赖软件的部署路径均为固定的,在制作依赖软件包时指定。
8.一种基于Docker的自动化软件部署装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的步骤。
CN201811521308.5A 2018-12-13 2018-12-13 基于Docker的自动化软件部署方法及装置 Active CN110032376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811521308.5A CN110032376B (zh) 2018-12-13 2018-12-13 基于Docker的自动化软件部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811521308.5A CN110032376B (zh) 2018-12-13 2018-12-13 基于Docker的自动化软件部署方法及装置

Publications (2)

Publication Number Publication Date
CN110032376A CN110032376A (zh) 2019-07-19
CN110032376B true CN110032376B (zh) 2024-02-13

Family

ID=67235336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811521308.5A Active CN110032376B (zh) 2018-12-13 2018-12-13 基于Docker的自动化软件部署方法及装置

Country Status (1)

Country Link
CN (1) CN110032376B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445709B (zh) * 2019-09-11 2021-12-28 成都千立网络科技有限公司 承载docker应用的智能网关
CN111026397B (zh) * 2019-10-22 2022-12-20 烽火通信科技股份有限公司 一种rpm包分布式编译方法及装置
CN111142865A (zh) * 2019-12-30 2020-05-12 北京百迈客生物科技有限公司 一种在生物云上部署第三方软件的方法及系统
CN111399855B (zh) * 2020-03-09 2023-10-20 山东省电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN113031972A (zh) * 2020-12-02 2021-06-25 杭州玳数科技有限公司 一种云原生场景下flink流计算依赖文件与镜像解耦方法
CN113805858B (zh) * 2021-02-10 2024-04-05 京东科技控股股份有限公司 持续部署脚本语言开发的软件的方法和装置
CN116594647A (zh) * 2023-06-09 2023-08-15 中国水利水电科学研究院 一种基于Docker技术的软件适配方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统
CN106406960A (zh) * 2016-09-28 2017-02-15 郑州云海信息技术有限公司 一种linux环境中快速部署软件的方法
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
WO2018001004A1 (zh) * 2016-06-27 2018-01-04 中兴通讯股份有限公司 一种基于Docker的云平台控制方法及装置
US9916233B1 (en) * 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916233B1 (en) * 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
CN106610853A (zh) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 一种应用部署方法和装置
CN105468362A (zh) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 应用部署方法和云计算系统
WO2018001004A1 (zh) * 2016-06-27 2018-01-04 中兴通讯股份有限公司 一种基于Docker的云平台控制方法及装置
CN106406960A (zh) * 2016-09-28 2017-02-15 郑州云海信息技术有限公司 一种linux环境中快速部署软件的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于Docker的自动化部署系统研究及实现》;胡长征;《中国优秀硕士学位论文全文数据库(电子期刊)》;20180415;I138-1250 *
《容器化部署方案—docker》;苏禾;《https://zhuanlan.zhihu.com/p/26517832》;20170804;第1-2页 *

Also Published As

Publication number Publication date
CN110032376A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110032376B (zh) 基于Docker的自动化软件部署方法及装置
US20210349706A1 (en) Release lifecycle management system for multi-node application
US11474829B2 (en) Customizing program logic for booting a system
US11050623B2 (en) Managing virtual network functions
KR101159435B1 (ko) 제3자 코드를 포함하는 가상 머신 생성
US8990809B1 (en) Creating a virtual appliance using existing installation manifest
US20180239632A1 (en) Enforcing compliance rules using host management components
EP3549014A1 (en) Systems and methods for eliminating reboot during initial machine configuration of operating systems
US20170269955A1 (en) Enforcing compliance rules using guest management components
GB2516842A (en) Deployment of software images with distinct configuration logic
US10761827B2 (en) WIN32 software distribution architecture
US20220357997A1 (en) Methods and apparatus to improve cloud management
US20230229481A1 (en) Provisioning dpu management operating systems
US10394619B2 (en) Signature-based service manager with dependency checking
US10732987B2 (en) System and method to update operating system services
US20230325220A1 (en) Hosting dpu management operating system using dpu software stack
WO2020029995A1 (en) Application upgrading through sharing dependencies
US10365907B2 (en) Offline tools installation for virtual machines
US20240103882A1 (en) Unikernel For WebAssembly Containers
US20230325222A1 (en) Lifecycle and recovery for virtualized dpu management operating systems
US20220229644A1 (en) Managing lifecycle of virtualization software in a virtualized computing system
US20240160425A1 (en) Deployment of management features using containerized service on management device and application thereof
CN117389677A (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