CN108021427A - 基于Docker的信息系统部署及升级管理方法 - Google Patents
基于Docker的信息系统部署及升级管理方法 Download PDFInfo
- Publication number
- CN108021427A CN108021427A CN201711180048.5A CN201711180048A CN108021427A CN 108021427 A CN108021427 A CN 108021427A CN 201711180048 A CN201711180048 A CN 201711180048A CN 108021427 A CN108021427 A CN 108021427A
- Authority
- CN
- China
- Prior art keywords
- upgrade procedure
- program
- file
- information system
- main program
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000009434 installation Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 abstract description 3
- 230000002459 sustained effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
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/60—Software deployment
- G06F8/65—Updates
-
- 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/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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45591—Monitoring or debugging support
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
本发明涉及一种基于Docker的信息系统部署及升级管理方法。其特点是,包括如下步骤:(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较。综上所述,本发明方法在基于Docker的信息系统用于信息系统部署及升级的管理,具有应用封装、镜像仓库、应用部署功能,提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。
Description
技术领域
本发明涉及一种基于Docker的信息系统部署及升级管理方法。
背景技术
容器技术虚拟化技术已经成为一种被大家广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作系统实例的过程当中为系统管理员提供极大的灵活性。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同,LXC其并不是一套硬件虚拟化方法-无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法,理解起来可能并不像VM那样直观。
发明内容
本发明的目的是提供一种基于Docker的信息系统部署及升级管理方法,能够提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。
一种基于Docker的信息系统部署及升级管理方法,其特别之处在于,包括如下步骤:
(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较;
(2)如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户进行升级;或者将现有版本与最新版本作比较,如果发现最新版本是新的则提示管理员或用户升级;或者通过文件大小进行比较,如果发现升级程序的文件大于旧版本的程序则提示管理员或用户进行升级;
(3)如果管理员或用户选择升级,则首先获取下载或传输的数据库脚本和文件列表,然后开始进行文件的批量下载和传输;
(4)升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份;
(5)更新旧的数据库和主程序;
(6)验证更新是否成功,如成功,则进行下一步,如未成功,则需要将数据库和程序进行回退到备份时的状态;
(7)检查主程序的状态,若状态为活动的,则启动新的主程序;
(8)关闭升级程序,升级完成。
综上所述,本发明方法在基于Docker的信息系统用于信息系统部署及升级的管理,具有应用封装、镜像仓库、应用部署功能,提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。
具体实施方式
本发明的目的是,基于开源应用容器引擎Docker,构建一个全新的信息系统,能够实现以下功能。
应用封装,用Docker做为应用容器引擎,Docker是轻量级虚拟化技术,它在标准的LXC之上融合AUFS分层镜像管理机制,并以应用为单元进行“集装封箱”。
镜像仓库,Docker镜像(Image)类似于虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统。镜像是创建Docker容器的基础,通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像。而镜像仓库就是Docker集中存放镜像文件的场所。
应用部署,用户直接指定相关版本的应用镜像进行部署或升级,成功后,对应用的发布结果进行验证,对验证不通过的应用直接指定原版本镜像进行回滚和还原。整个升级过程就是对应用镜像的复制和运行,从而实现信息系统的快速部署,保证生产环境、测试环境和开发环境的一致。
实施例1:
启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹。
升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小。
升级程序获取原有主程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示管理员或用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示管理员或用户升级。通常而言,国网采用比较新旧版本更新日期号来提示管理员或用户升级。
如果管理员或用户选择升级,则获取下载或传输的数据库脚本和文件列表,开始进行文件的批量下载和传输。
升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份。
更新旧的数据库和主程序。
验证更新成功与否,如成功,则进行下一步,如未成功,需要将数据库和程序进行回退到备份时的状态。
检查主程序的状态,若状态为活动的,则启动新的主程序。
关闭升级程序,升级完成。
Claims (1)
1.一种基于Docker的信息系统部署及升级管理方法,其特征在于,包括如下步骤:
(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较;
(2)如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户进行升级;或者将现有版本与最新版本作比较,如果发现最新版本是新的则提示管理员或用户升级;或者通过文件大小进行比较,如果发现升级程序的文件大于旧版本的程序则提示管理员或用户进行升级;
(3)如果管理员或用户选择升级,则首先获取下载或传输的数据库脚本和文件列表,然后开始进行文件的批量下载和传输;
(4)升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份;
(5)更新旧的数据库和主程序;
(6)验证更新是否成功,如成功,则进行下一步,如未成功,则需要将数据库和程序进行回退到备份时的状态;
(7)检查主程序的状态,若状态为活动的,则启动新的主程序;
(8)关闭升级程序,升级完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711180048.5A CN108021427A (zh) | 2017-11-23 | 2017-11-23 | 基于Docker的信息系统部署及升级管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711180048.5A CN108021427A (zh) | 2017-11-23 | 2017-11-23 | 基于Docker的信息系统部署及升级管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108021427A true CN108021427A (zh) | 2018-05-11 |
Family
ID=62080113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711180048.5A Pending CN108021427A (zh) | 2017-11-23 | 2017-11-23 | 基于Docker的信息系统部署及升级管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021427A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110837383A (zh) * | 2019-09-30 | 2020-02-25 | 奇安信科技集团股份有限公司 | 应用免安装升级方法及装置 |
CN110879713A (zh) * | 2018-09-06 | 2020-03-13 | 山东华软金盾软件股份有限公司 | 一种android端强加密插件热更新管理方法 |
CN111061493A (zh) * | 2019-12-18 | 2020-04-24 | 北京神舟航天软件技术有限公司 | 一种基于应用仓库的客户端应用全生命周期管理方法 |
CN111427600A (zh) * | 2020-03-20 | 2020-07-17 | 成都千立网络科技有限公司 | 一种基于docker的平台系统部署升级方法及系统 |
CN113127039A (zh) * | 2021-04-22 | 2021-07-16 | 北京优奥创思科技发展有限公司 | 一种微服务架构产品自动化升级系统 |
CN118626111A (zh) * | 2024-08-13 | 2024-09-10 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种前端项目部署优化方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120210312A1 (en) * | 2009-10-26 | 2012-08-16 | Zte Corporation | Software upgrading method, software upgrading system and client |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN105389187A (zh) * | 2015-11-26 | 2016-03-09 | 普华基础软件股份有限公司 | 一种系统更新的方法 |
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及系统 |
CN106528200A (zh) * | 2016-10-08 | 2017-03-22 | 广州视睿电子科技有限公司 | 一种基于docker compose的持续集成方法及装置 |
-
2017
- 2017-11-23 CN CN201711180048.5A patent/CN108021427A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120210312A1 (en) * | 2009-10-26 | 2012-08-16 | Zte Corporation | Software upgrading method, software upgrading system and client |
CN102955702A (zh) * | 2011-08-23 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种软件安装及升级方法和装置 |
CN105389187A (zh) * | 2015-11-26 | 2016-03-09 | 普华基础软件股份有限公司 | 一种系统更新的方法 |
CN106528200A (zh) * | 2016-10-08 | 2017-03-22 | 广州视睿电子科技有限公司 | 一种基于docker compose的持续集成方法及装置 |
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及系统 |
Non-Patent Citations (1)
Title |
---|
CHANSHUI: "《软件自动在线升级的原理》", 《HTTPS://WWW.ITEYE. COM/BLOG/CHANSHUI-729320》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110879713A (zh) * | 2018-09-06 | 2020-03-13 | 山东华软金盾软件股份有限公司 | 一种android端强加密插件热更新管理方法 |
CN110837383A (zh) * | 2019-09-30 | 2020-02-25 | 奇安信科技集团股份有限公司 | 应用免安装升级方法及装置 |
CN110837383B (zh) * | 2019-09-30 | 2023-10-31 | 奇安信科技集团股份有限公司 | 应用免安装升级方法及装置 |
CN111061493A (zh) * | 2019-12-18 | 2020-04-24 | 北京神舟航天软件技术有限公司 | 一种基于应用仓库的客户端应用全生命周期管理方法 |
CN111427600A (zh) * | 2020-03-20 | 2020-07-17 | 成都千立网络科技有限公司 | 一种基于docker的平台系统部署升级方法及系统 |
CN111427600B (zh) * | 2020-03-20 | 2023-04-21 | 成都千立网络科技有限公司 | 一种基于docker的平台系统部署升级方法及系统 |
CN113127039A (zh) * | 2021-04-22 | 2021-07-16 | 北京优奥创思科技发展有限公司 | 一种微服务架构产品自动化升级系统 |
CN118626111A (zh) * | 2024-08-13 | 2024-09-10 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种前端项目部署优化方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021427A (zh) | 基于Docker的信息系统部署及升级管理方法 | |
US9134991B2 (en) | Automatic upgrade of virtual appliances | |
US9971618B2 (en) | System and method to reconfigure a virtual machine image suitable for cloud deployment | |
US10261770B2 (en) | Install file size optimization and installation verification system | |
US9032052B2 (en) | Deployment of a driver or an application on a client device having a write-filter | |
US8819670B2 (en) | Automated software installation with interview | |
US9146729B2 (en) | Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file | |
EP2786248B1 (en) | Automatic updating of an application or a driver on a client device using a deployment configuration file | |
US8365164B1 (en) | Portable software applications | |
US6920555B1 (en) | Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system | |
EP2786249B1 (en) | Creation or installation of a disk image for a target device having one of a plurality of hardware platforms | |
US9201494B1 (en) | Multi-user managed desktop environment | |
US20040117414A1 (en) | Method and system for automatically updating operating systems | |
US10795688B2 (en) | System and method for performing an image-based update | |
US10747585B2 (en) | Methods and apparatus to perform data migration in a distributed environment | |
JP2013544402A (ja) | ソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法、システム、およびコンピュータ・プログラム | |
JP2002196945A (ja) | デバイスドライバのアップグレードシステム及び方法 | |
RU2445686C2 (ru) | Способ установки, настройки, администрирования и резервного копирования программного обеспечения | |
US9141400B2 (en) | Technique for deploying operating systems in a virtualized environment | |
CN112015448A (zh) | 一种基于空中下载技术的系统升级方法及装置 | |
CN118170431B (zh) | 跨操作系统的业务迁移方法、装置及电子设备 | |
EP1605353A2 (en) | Method for imaging computer systems | |
CN109213532A (zh) | 一种基于shell脚本的虚拟机网络初始化方法 | |
US20210311716A1 (en) | Deploying virtualization software in a remote cluster | |
CN118331612A (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: 20180511 |
|
RJ01 | Rejection of invention patent application after publication |