CN111198744B - 自动化应用程序容器化和镜像备份发布的方法 - Google Patents

自动化应用程序容器化和镜像备份发布的方法 Download PDF

Info

Publication number
CN111198744B
CN111198744B CN201811363546.8A CN201811363546A CN111198744B CN 111198744 B CN111198744 B CN 111198744B CN 201811363546 A CN201811363546 A CN 201811363546A CN 111198744 B CN111198744 B CN 111198744B
Authority
CN
China
Prior art keywords
application program
mirror image
backup
image
containerized
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
CN201811363546.8A
Other languages
English (en)
Other versions
CN111198744A (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 Standard Software Co Ltd
Original Assignee
China Standard Software 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 Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201811363546.8A priority Critical patent/CN111198744B/zh
Publication of CN111198744A publication Critical patent/CN111198744A/zh
Application granted granted Critical
Publication of CN111198744B publication Critical patent/CN111198744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种自动化应用程序容器化和镜像备份发布方法,包括如下步骤:基于硬件平台和操作***,构建基础镜像;从基础镜像启动容器,以相应的编程语言分类,分别增量制作基础构建镜像;从基础构建镜像启动容器,在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像;运行应用程序容器化镜像,利用应用程序测试脚本执行测试验证。本发明填补了x86平台应用程序容器化镜像无法在龙芯平台下部署使用的问题,弥补了国产龙芯CPU平台的自动化应用程序容器化和容器镜像自动化发布技术的空白,使得应用程序可以自动化地在龙芯CPU平台上的容器中进行编译、(打包)安装、部署及备份发布。

Description

自动化应用程序容器化和镜像备份发布的方法
技术领域
本发明涉及Docker容器镜像生成技术领域,具体涉及一种自动化应用程序容器化和镜像备份发布的方法。
背景技术
容器虚拟化技术作为一种轻量级的虚拟化技术,近年来被各行业广泛认可和采用。应用程序容器化部署要比传统的应用程序部署具有更多优势,能够快速部署和启动、节约成本、方便持续集成和标准化应用发布等。随着自主可控事业的发展,在国产龙芯CPU平台上的应用程序容器化的需求更凸显出来。
容器虚拟化技术,基于docker技术,这些年来一直都是一个国内外研究的热点。虽然容器的进程和宿主操作***相互隔离,但目前市面上的主流容器镜像绝大多数只支持在x86平台上运行,其他平台如arm等也只有很少的基础容器镜像,而龙芯平台的docker技术也起步不久,上层用户在龙芯平台上的容器化应用开发部署可能需要重新手工制作大量docker镜像,这带来了很多的不便利因素,在一定程度上限制了自主可控事业的快速发展。因此,设计一种应用于国产龙芯CPU平台的自动化的应用程序容器化的方法是非常有必要的。
现有技术中,存在一些自动化的应用程序镜像化的方法方案,多为分散性的某个具体应用程序的容器化部署方案,这些方案也都是基于docker技术进行实现的。
现有技术中虽然可以实现某些应用程序的容器化部署,但只是一些基于docker技术的分散性的方案,更没有针对在龙芯CPU平台的适配处理,且相关基础docker镜像从开源仓库获取,只能在x86平台或一些伪x86平台上运行,无法满足龙芯CPU平台下的应用程序容器化部署需求。
发明内容
为解决现有技术存在的不足,本发明提供了一种自动化应用程序容器化和镜像备份发布方法,包括如下步骤:
步骤S1,构建基础镜像:基于硬件平台和操作***,构建基础镜像;
步骤S2,构建基础构建镜像:从基础镜像启动容器,以相应的编程语言分类,分别增量制作基础构建镜像;
步骤S3,构建应用程序容器化镜像:从基础构建镜像启动容器,将应用程序源代码注入到容器内的已知目录,并为应用程序源代码安装编译和运行时的依赖项,在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像;
步骤S4,应用程序容器化镜像测试及备份发布:运行应用程序容器化镜像,利用应用程序测试脚本执行测试验证。
其中,所述步骤S4中,应用程序容器化镜像运行测试通过后,将应用程序容器化镜像保存为压缩包,上传至备份服务器,同时将应用程序容器化镜像发布至公有镜像仓库或私有镜像仓库。
其中,所述步骤S4中,将应用程序容器化镜像上传至备份服务器的路径及发布至公有镜像仓库或私有镜像仓库的路径以参数形式传入。
其中,所述步骤S1包括:
步骤S11:检测当前工作区域磁盘剩余空间是否充足,若不充足,则退出进程,若充足,则继续;
步骤S12:检测工作区域操作***docker服务是否正在进行,如果没有正常运行则退出工作进程,如果正常运行,则继续;
步骤S13:创建工作目录,在工作目录下创建子工作目录,在子工作目录下创建安装目录、构建目录及备份目录;
步骤S14:将必要基础软件包安装至安装目录下;
步骤S15:将安装目录压缩成格式压缩包,并将格式压缩包保存至构建目录下;
步骤S16:在构建目录下利用模板文件生成Dockerflie脚本,调用镜像构建命令制作生成基础镜像;
步骤S17:调用镜像保存命令将生成的基础镜像保存至备份目录下,并生成校验码。
其中,所述步骤S14中,安装基础软件包时使用--setopt=tsflags=nodocs参数,避免包括man手册文件在内的不相关文档的安装,并且,在安装之后删除非必要文件。
其中,所述步骤S2包括:
步骤S21:根据对应的编程语言种类,创建工作目录workdir/xxxx/、构建目录workdir/xxxx/build/ 以及备份目录workdir/xxxx/backup/,其中,xxxx表示不同的编程语言分类;
步骤S22:进入构建目录workdir/xxxx/build,根据模板生成相应编程语言的基础构建镜像的Dockerfile脚本;
步骤S23:从步骤S1生成的基础镜像启动容器,安装编程语言基础编译环境,并提交为新的镜像,即基础构建镜像;
步骤S24:调用镜像保存命令将生成的基础构建镜像以压缩包的形式保存至备份目录workdir/xxxx/backup/下,并生成校验码。
其中,所述步骤S3包括:
步骤S31:创建工作目录workdir/app-xxx/、构建目录workdir/app-xxx/build/以及备份目录workdir/app-xxx/backup/,其中xxx由输入的应用程序源代码路径解析得到;
步骤S32:调用s2i create命令在构建目录workdir/app-xxx/build/下生成Dockerfile脚本模板、配置文件模板及应用程序运行脚本模板;
步骤S33:结合应用程序修改完善Dockerfile脚本、配置文件及应用程序运行脚本文件;
步骤S34:根据应用程序所使用的编程语言,从步骤S2生成的基础构建镜像中选取合适的,由基础构建镜像启动容器;
步骤S35:根据步骤S31中,解析得到的应用程序源代码输入路径,加载应用程序源代码,将应用程序源代码注入到容器内的已知目录;
步骤S36:解析配置文件,安装应用程序源代码编译及运行时的依赖库;
步骤S37:在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像;
步骤S38:将应用程序容器化镜像入口点设置为将启动相应服务以托管应用程序的脚本,即应用程序运行脚本。
其中,所述步骤S4包括:
步骤S41:基于步骤S3生成的应用程序容器化镜像,调用应用程序测试脚本执行测试验证,若运行失败,则退出进程,否则继续;
步骤S42:将步骤S3生成的应用程序容器化镜像以压缩包的形式保存至备份目录workdir/app-xxx/backup/下,并生成校验码;
步骤S43:调用镜像上传命令将应用程序容器化镜像发布至公有镜像仓库或私有镜像仓库;
步骤S44:遍历应用程序内所有的工作目录,将所有备份目录下的压缩包及对应的校验码上传备份至指定的备份服务器。
本发明提供的自动化应用程序容器化和镜像备份发布的方法,填补了x86平台应用程序容器化镜像无法在龙芯平台下部署使用的问题,弥补了国产龙芯CPU平台的自动化应用程序容器化和容器镜像(批量)自动化发布技术的空白,使得应用程序可以自动化地在龙芯CPU平台上的容器中进行编译、(打包)安装、部署及备份发布。
附图说明
图1:本发明的自动化应用程序容器化和镜像备份发布方法在实现过程中的各镜像的逻辑联系图。
图2:本发明的自动化应用程序容器化和镜像备份发布方法的实现流程图。
图3:本发明在构建基础镜像时的具体流程图。
图4:本发明在构建基础构建镜像时的具体流程图。
图5:本发明在构建应用程序容器化镜像时的具体流程图。
图6:本发明在应用程序容器化镜像测试及备份发布时的具体流程图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
本发明的自动化应用程序容器化和镜像备份发布方法,主要针对国产平台上自动化的应用程序的镜像构建,并能够支持多种计算机语言应用程序的容器化构建,特别适用于国产龙芯CPU平台的应用程序容器化及容器镜像的自动化备份发布的实现。
图1为本发明的自动化应用程序容器化和镜像备份发布方法在实现过程中的各镜像的逻辑联系图,如图1所示,本发明的在构建自动化应用程序的镜像过程中,所使用的容器及程序包括:1.基础镜像;2.基于不同编程语言的基础构建镜像;3.应用程序源代码;4.应用程序容器化镜像。图2为本发明的自动化应用程序容器化和镜像备份发布方法的实现流程图,以龙芯平台下的构建和发布为例,如图2所示,其主要过程包括:
1.构建基础镜像:基于龙芯CPU硬件平台和国产中标麒麟服务器操作***软件环境,制作包含软件包数量较少、体积较小的基础镜像,事先需搭建好yum源。
2. 构建基础构建镜像:从龙芯平台下的基础镜像启动容器,以各种编程语言分类,分别增量制作龙芯平台下的基础构建镜像。
3. 构建应用程序容器化镜像:从龙芯平台下的基础构建镜像启动容器,将应用程序源代码注入到容器内的已知目录,并为源代码安装编译和运行时依赖项,在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像。
4. 应用程序容器化镜像运行测试:运行镜像,利用应用程序测试脚本执行测试验证。应用程序容器化镜像运行测试通过后,将应用程序容器化镜像保存为压缩包,上传至备份服务器,同时将应用程序容器化镜像上传(发布)至dockerhub或私有镜像仓库。此过程通过调用自动化脚本执行实现,应用程序容器化镜像上传及发布的路径,以参数形式传入。
图3为本发明在构建基础镜像时的具体流程图,如图3所示,此步骤旨在实现龙芯平台下的基础镜像的构建及本地备份,其详细流程如下:
(1)检测当前工作区域磁盘剩余空间是否充足,如设定默认检测阈值为20G(阈值可通过配置文件手动设定),若磁盘剩余空间不足20G,则会退出进程,否则继续。
(2)检测工作区域操作***docker服务是否正在运行,如果docker服务没有正常运行则退出工作进程,否则创建工作目录workdir/,在工作目录下创建子工作目录workdir/base/,并在子工作目录下创建安装目录workdir/base/rootfs/ 、构建目录workdir/base/build/ 以及备份目录workdir/base/backup/。
(3)调用yum命令将一些必要基础软件包安装到workdir/base/rootfs/目录下,安装软件包时使用--setopt=tsflags=nodocs参数,即不安装相关文档、man手册等文件,并在安装后删除部分非必要文件,以尽可能控制安装文件总大小,以使基础镜像的体积尽可能地小。
(4)安装后将workdir/base/rootfs/目录压缩成tar.xz格式压缩包,并将tar.xz格式压缩包保存到构建目录workdir/base/build/下。
(5)在构建目录workdir/base/build/下利用模板文件生成Dockerfile,调用docker build命令制作生成基础镜像。
(6)调用docker save命令将生成的基础镜像以tar包形式保存到workdir/base/backup/目录下,并生成MD5校验码。
图4为本发明在构建基础构建镜像时的具体流程图,如图4所示,此步骤旨在实现龙芯平台下的基础构建镜像的构建及本地备份,其详细流程如下:
(1)基础构建镜像主要按编程语言分类,创建工作目录workdir/xxxx/、构建目录workdir/xxxx/build/ 以及备份目录workdir/xxxx/backup/,其中,xxxx表示不同的编程语言分类,例如java、php、nodejs、python、perl、ruby等。
(2)进入构建目录workdir/xxxx/build/,根据模板生成相应编程语言的基础构建镜像的Dockerfile。
(3)从步骤1生成的基础镜像启动容器,安装编程语言基础编译环境,并提交为新的镜像,即基础构建镜像。
(4)调用docker save命令将生成的基础构建镜像以tar包形式保存到备份目录workdir/xxxx/backup/下,并生成MD5校验码。
图5为本发明在构建应用程序容器化镜像时的具体流程图,如图5所示,此步骤旨在实现龙芯平台下的应用程序容器化镜像的构建,其详细流程如下:
(1)创建工作目录workdir/app-xxx/、构建目录workdir/app-xxx/build/ 以及备份目录workdir/app-xxx/backup/,其中,xxx由输入的应用程序源代码路径解析得到。
(2)调用s2i create命令在构建目录workdir/app-xxx/build/下生成Dockerfile模板、配置文件模板、应用程序运行脚本模板。
(3)结合应用程序修改完善Dockerfile、配置文件、应用程序运行脚本等文件。
(4)依据应用程序所使用的编程语言,从步骤2生成的基础构建镜像中选取合适的,由基础构建镜像启动容器。
(5)根据解析所得的应用程序源代码输入路径,加载应用程序源代码,将应用程序源代码注入到容器内的已知目录。
(6)解析配置文件,安装应用程序源代码编译及运行时的依赖库。
(7)在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像,并将镜像入口点设置为将启动相应服务以托管应用程序的脚本,即应用程序运行脚本。
图6为本发明在应用程序容器化镜像测试及备份发布时的具体流程图,如图6所示,此步骤旨在实现龙芯平台下应用程序容器化镜像的测试、备份及发布,其详细流程如下:
(1)基于步骤3生成的应用程序容器化镜像,调用应用程序测试脚本执行测试验证。
(2)如运行测试失败,则退出进程,否则将步骤3生成的应用程序容器化镜像以tar包形式保存到备份目录workdir/app-xxx/backup/下,并生成MD5校验码。
(3)调用docker push将镜像发布至dockerhub或镜像仓库。
(4)遍历工作目录workdir/,将所有备份目录backup/下的tar包及对应MD5校验码上传备份至指定的备份服务器。
本发明中,所谓的“容器虚拟化”,是一种通过虚拟化技术来隔离运行在主机上不同进程,从而达到进程之间、进程和宿主操作***相互隔离、互不影响的技术。这种相互孤立进程叫容器,它有自己的一套文件***资源和从属进程。
本发明中,所谓的“从源构建”,是一种容器虚拟化形式,它利用docker技术,将应用程序源代码和基础镜像增量融合,使应用程序源代码实现在容器中的编译安装并构建出可直接运行部署的包含应用程序的docker镜像。
本发明中,所谓的“--setopt=tsflags=nodocs参数”,为Linux运行环境下yum命令的一个具体的参数项,该参数的功能在于:使用yum命令安装软件包时,不安装软件包默认带有的man手册、doc文档等文件。
本发明中,所谓的“s2i create”,是一个生成模版文件的命令,其作用是创建生成Dockerfile模版、配置文件模版以及应用程序运行脚本模版。
本发明的有益效果如下:
1、通过使用模板自动生成龙芯平台下基础镜像及基础构建镜像的镜像文件,并通过调用镜像构建命令构建基础镜像及基础构建镜像,实现了应用程序容器化的自动化。
2、本发明所构建的基础镜像和基础构建镜像在国产龙芯平台下具有可重用性,方便了国产龙芯平台的二次开发。
3、通过压缩操作及--setopt=tsflags=nodocs参数的调用,极大地缩小了镜像大小。
4、各步骤中,在镜像发布的同时将镜像以压缩包形式备份,使得数据保存多一层保障,且方便应用程序容器化镜像在无外部网络或镜像仓库无法访问的情况下进行部署。
综上,本发明提供的自动化应用程序容器化和镜像备份发布的方法,提供了一种可以在龙芯平台下实现自动化从源构建应用程序容器镜像及镜像自动化备份发布的方案,填补了x86平台应用程序容器化镜像无法在龙芯平台下部署使用的问题,弥补了国产龙芯CPU平台的自动化应用程序容器化和容器镜像(批量)自动化发布技术的空白,使得应用程序可以自动化地在龙芯CPU平台上的容器中进行编译、(打包)安装、部署及备份发布。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

Claims (5)

1.一种自动化应用程序容器化和镜像备份发布方法,其特征在于,包括如下步骤:
步骤S1,构建基础镜像:基于硬件平台和操作***,构建基础镜像,具体的:
步骤S11:检测当前工作区域磁盘剩余空间是否充足,若不充足,则退出进程,若充足,则继续;
步骤S12:检测工作区域操作***docker服务是否正在进行,如果没有正常运行则退出工作进程,如果正常运行,则继续;
步骤S13:创建工作目录,在工作目录下创建子工作目录,在子工作目录下创建安装目录、构建目录及备份目录;
步骤S14:将必要基础软件包安装至安装目录下;
步骤S15:将安装目录压缩成格式压缩包,并将格式压缩包保存至构建目录下;
步骤S16:在构建目录下利用模板文件生成Dockerfile脚本,调用镜像构建命令制作生成基础镜像;
步骤S17:调用镜像保存命令将生成的基础镜像保存至备份目录下,并生成校验码;
步骤S2,构建基础构建镜像:从基础镜像启动容器,以相应的编程语言分类,分别增量制作基础构建镜像,具体的:
步骤S21:根据对应的编程语言种类,创建工作目录workdir/xxxx/、构建目录workdir/xxxx/build/ 以及备份目录workdir/xxxx/backup/,其中,xxxx表示不同的编程语言分类;
步骤S22:进入构建目录workdir/xxxx/build,根据模板生成相应编程语言的基础构建镜像的Dockerfile脚本;
步骤S23:从步骤S1生成的基础镜像启动容器,安装编程语言基础编译环境,并提交为新的镜像,即基础构建镜像;
步骤S24:调用镜像保存命令将生成的基础构建镜像以压缩包的形式保存至备份目录workdir/xxxx/backup/下,并生成校验码;
步骤S3,构建应用程序容器化镜像:从基础构建镜像启动容器,将应用程序源代码注入到容器内的已知目录,并为应用程序源代码安装编译和运行时的依赖项,在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像,具体的:
步骤S31:创建工作目录workdir/app-xxx/、构建目录workdir/app-xxx/build/ 以及备份目录workdir/app-xxx/backup/,其中xxx由输入的应用程序源代码路径解析得到;
步骤S32:调用s2i create命令在构建目录workdir/app-xxx/build/下生成Dockerfile脚本模板、配置文件模板及应用程序运行脚本模板;
步骤S33:结合应用程序修改完善Dockerfile脚本、配置文件及应用程序运行脚本文件;
步骤S34:根据应用程序所使用的编程语言,从步骤S2生成的基础构建镜像中选取合适的,由基础构建镜像启动容器;
步骤S35:根据步骤S31中,解析得到的应用程序源代码输入路径,加载应用程序源代码,将应用程序源代码注入到容器内的已知目录;
步骤S36:解析配置文件,安装应用程序源代码编译及运行时的依赖库;
步骤S37:在容器内对应用程序源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜像;
步骤S38:将应用程序容器化镜像入口点设置为将启动相应服务以托管应用程序的脚本,即应用程序运行脚本;
步骤S4,应用程序容器化镜像测试及备份发布:运行应用程序容器化镜像,利用应用程序测试脚本执行测试验证。
2.如权利要求1所述的自动化应用程序容器化和镜像备份发布方法,其特征在于:所述步骤S4中,应用程序容器化镜像运行测试通过后,将应用程序容器化镜像保存为压缩包,上传至备份服务器,同时将应用程序容器化镜像发布至公有镜像仓库或私有镜像仓库。
3.如权利要求2所述的自动化应用程序容器化和镜像备份发布方法,其特征在于:所述步骤S4中,将应用程序容器化镜像上传至备份服务器的路径及发布至公有镜像仓库或私有镜像仓库的路径以参数形式传入。
4.如权利要求1所述的自动化应用程序容器化和镜像备份发布方法,其特征在于:所述步骤S14中,安装基础软件包时使用--setopt=tsflags=nodocs参数,避免包括man手册文件在内的不相关文档的安装,并且,在安装之后删除非必要文件。
5.如权利要求1所述的自动化应用程序容器化和镜像备份发布方法,其特征在于,所述步骤S4包括:
步骤S41:基于步骤S3生成的应用程序容器化镜像,调用应用程序测试脚本执行测试验证,若运行失败,则退出进程,否则继续;
步骤S42:将步骤S3生成的应用程序容器化镜像以压缩包的形式保存至备份目录workdir/app-xxx/backup/下,并生成校验码;
步骤S43:调用镜像上传命令将应用程序容器化镜像发布至公有镜像仓库或私有镜像仓库;
步骤S44:遍历应用程序内所有的工作目录,将所有备份目录下的压缩包及对应的校验码上传备份至指定的备份服务器。
CN201811363546.8A 2018-11-16 2018-11-16 自动化应用程序容器化和镜像备份发布的方法 Active CN111198744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811363546.8A CN111198744B (zh) 2018-11-16 2018-11-16 自动化应用程序容器化和镜像备份发布的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811363546.8A CN111198744B (zh) 2018-11-16 2018-11-16 自动化应用程序容器化和镜像备份发布的方法

Publications (2)

Publication Number Publication Date
CN111198744A CN111198744A (zh) 2020-05-26
CN111198744B true CN111198744B (zh) 2023-05-30

Family

ID=70745920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811363546.8A Active CN111198744B (zh) 2018-11-16 2018-11-16 自动化应用程序容器化和镜像备份发布的方法

Country Status (1)

Country Link
CN (1) CN111198744B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111880893B (zh) * 2020-06-21 2023-01-06 苏州浪潮智能科技有限公司 一种容器镜像快速转换方法与***
CN111897538B (zh) * 2020-07-13 2022-06-21 浪潮电子信息产业股份有限公司 一种基于cpu和操作***的容器平台部署方法及***
CN111597014B (zh) * 2020-07-24 2020-11-10 北京东方通软件有限公司 免二次镜像的容器化JavaEE应用服务器的发布方法
CN111966463A (zh) * 2020-08-18 2020-11-20 江苏安超云软件有限公司 一种容器镜像的构建方法、装置、存储介质及电子设备
CN112052070A (zh) * 2020-08-27 2020-12-08 亚信科技(南京)有限公司 应用容器化评估方法、装置、电子设备及存储介质
CN112181588A (zh) * 2020-09-18 2021-01-05 济南浪潮数据技术有限公司 一种应用容器化方法、装置及电子设备和存储介质
CN112286636B (zh) * 2020-10-30 2024-02-13 重庆长安汽车股份有限公司 一种基于Docker与SVN的统一配置中心的实现方法
CN112527456B (zh) * 2020-12-10 2024-06-25 国网四川省电力公司信息通信公司 一种业务应用容器化改造及镜像制作的方法
CN112527455A (zh) * 2020-12-10 2021-03-19 武汉联影医疗科技有限公司 业务容器的部署方法、计算机设备和存储介质
CN112596855B (zh) * 2020-12-23 2022-03-29 新华三大数据技术有限公司 一种容器创建方法及装置
CN112698873A (zh) * 2020-12-29 2021-04-23 中车大连机车研究所有限公司 一种基于Docker技术的轨道交通用***运行控制方法及***
CN112835594A (zh) * 2021-01-15 2021-05-25 深圳行云创新科技有限公司 基于Kubernetes的镜像构建方法及其构建***
US11467825B1 (en) 2021-03-23 2022-10-11 Blackberry Limited Method and system for a customized local build environment image
CN113835832A (zh) * 2021-09-03 2021-12-24 广州中医药大学第一附属医院 一种整合神经影像数据分析环境的构建方法及***
CN113835683A (zh) * 2021-09-17 2021-12-24 博锐尚格科技股份有限公司 一种目标程序的镜像制作方法和装置
CN114237760B (zh) * 2021-12-21 2023-08-11 华北电力大学 一种将工业机理模型封装为容器镜像并发布web服务的方法
CN114115954B (zh) * 2022-01-25 2022-05-17 北京金堤科技有限公司 自动化集成部署服务的方法和装置、以及电子设备和存储介质
CN114297089B (zh) * 2022-03-02 2022-07-29 杭州海康威视数字技术股份有限公司 基于容器的Python远程动态调试方法及***
US11847431B2 (en) 2022-03-03 2023-12-19 International Business Machines Corporation Automatic container specification file generation for a codebase
CN115373727A (zh) * 2022-08-08 2022-11-22 深圳安巽科技有限公司 Http应用及后台脚本的部署方法、***及存储介质
CN115562813B (zh) * 2022-10-27 2023-04-18 北京同创永益科技发展有限公司 一种云原生环境动态构建工作负载的方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000623A1 (zh) * 2014-07-01 2016-01-07 北京奇虎科技有限公司 初始化智能终端设备的方法、装置及***
WO2017049828A1 (zh) * 2015-09-25 2017-03-30 中兴通讯股份有限公司 基于Linux的数据处理方法、装置和***
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN108154035A (zh) * 2017-12-21 2018-06-12 杭州安恒信息技术有限公司 大规模网站漏洞扫描方法、装置及电子设备
CN108415795A (zh) * 2018-02-12 2018-08-17 人和未来生物科技(长沙)有限公司 一种容器Dockerfile、容器镜像快速生成方法及***
CN108427641A (zh) * 2018-01-29 2018-08-21 中国互联网络信息中心 一种基于Docker容器的多任务调度自动化测试方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9973566B2 (en) * 2013-11-17 2018-05-15 Nimbix, Inc. Dynamic creation and execution of containerized applications in cloud computing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000623A1 (zh) * 2014-07-01 2016-01-07 北京奇虎科技有限公司 初始化智能终端设备的方法、装置及***
WO2017049828A1 (zh) * 2015-09-25 2017-03-30 中兴通讯股份有限公司 基于Linux的数据处理方法、装置和***
CN107678756A (zh) * 2017-09-29 2018-02-09 千寻位置网络有限公司 一种基于Docker的Web应用一键发布方法
CN108154035A (zh) * 2017-12-21 2018-06-12 杭州安恒信息技术有限公司 大规模网站漏洞扫描方法、装置及电子设备
CN108427641A (zh) * 2018-01-29 2018-08-21 中国互联网络信息中心 一种基于Docker容器的多任务调度自动化测试方法及***
CN108415795A (zh) * 2018-02-12 2018-08-17 人和未来生物科技(长沙)有限公司 一种容器Dockerfile、容器镜像快速生成方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张延冬 ; 邢艳芳 ; .基于Docker的运维平台设计.计算机时代.2018,(04),全文. *
徐星 ; 李银桥 ; 刘学锋 ; 毛建华 ; .企业开发、测试环境快速部署方案的设计与实现.工业控制计算机.2018,(03),全文. *

Also Published As

Publication number Publication date
CN111198744A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
CN111198744B (zh) 自动化应用程序容器化和镜像备份发布的方法
CN108876121B (zh) 工单处理方法、装置、计算机设备和存储介质
CN108279892B (zh) 一种拆分大型应用服务为微服务的方法、装置及设备
CN101719073B (zh) 一种基于智能客户端的按需下载实现方法
US8296758B2 (en) Deployment and versioning of applications
CN111666081A (zh) 基于Git的项目版本发布方法、装置、设备及介质
CN108897547B (zh) 一种软件自动化部署方法及装置
CN103294514A (zh) ***软件版本集成方法、编译服务器及***
CN106371881B (zh) 一种用于服务器内程序版本更新的方法和***
CN106681956A (zh) 一种大规模计算机集群的操作方法及装置
CN114064213B (zh) 基于Kubernets容器环境的快速编排服务方法及***
CN106874028A (zh) 应用部署方法和装置
CN112379969B (zh) 一种基于容器化应用的持续集成交付方法及相关设备
CN113835713A (zh) 源码包下载方法、装置、计算机设备和存储介质
CN115658232A (zh) 一种云原生平台快速部署方法及***
CN115543429A (zh) 项目环境的搭建方法、电子设备及计算机可读存储介质
CN107943504A (zh) 一种嵌入式***中软件模块的动态升级方法
CN112286543B (zh) 一种应用服务部署方法及装置
CN115129574A (zh) 一种代码测试方法和装置
US8473943B2 (en) Using ecoprint for cloning of applications
CN115080076B (zh) 一种云手机软件管理方法
CN115291892A (zh) 基于Ansible微服务部署方法和***
CN115145577A (zh) 一种宏内核操作***二次开发命令行指令处理方法、装置、电子设备和存储介质
CN115964061A (zh) 插件更新方法、装置、电子设备和计算机可读存储介质
CN112486511A (zh) 一种通过web生成操作***安装镜像的方法

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