CN111427600B - 一种基于docker的平台系统部署升级方法及系统 - Google Patents

一种基于docker的平台系统部署升级方法及系统 Download PDF

Info

Publication number
CN111427600B
CN111427600B CN202010201449.XA CN202010201449A CN111427600B CN 111427600 B CN111427600 B CN 111427600B CN 202010201449 A CN202010201449 A CN 202010201449A CN 111427600 B CN111427600 B CN 111427600B
Authority
CN
China
Prior art keywords
platform
dock
mirror image
configuration file
current version
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
CN202010201449.XA
Other languages
English (en)
Other versions
CN111427600A (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.)
Chengdu Qianli Network Technology Co ltd
Original Assignee
Chengdu Qianli Network Technology 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 Chengdu Qianli Network Technology Co ltd filed Critical Chengdu Qianli Network Technology Co ltd
Priority to CN202010201449.XA priority Critical patent/CN111427600B/zh
Publication of CN111427600A publication Critical patent/CN111427600A/zh
Application granted granted Critical
Publication of CN111427600B publication Critical patent/CN111427600B/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/65Updates
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及软件技术领域,公开了一种基于docker的平台系统部署升级方法及系统,用以解决已有的平台系统升级部署所存在的多节点持久化统一配置文件问题。本发明的方案如下:平台的配置文件需通过网络挂载于NFS服务器,当平台接收到升级包之后,首先停止并删除所有承载平台业务的docker容器,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;之后使用升级包内平台业务源码构建docker镜像,并将docker镜像推送到docker镜像仓库;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,最后创建并启动所有平台docker容器。本发明适用于平台的系统部署升级。

Description

一种基于docker的平台系统部署升级方法及系统
技术领域
本发明涉及软件技术领域,特别涉及一种基于docker的平台系统部署升级方法及系统。
背景技术
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker可以让交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后一个标准化组件是用户的app)。
平台已有的系统升级方案中,升级包为压缩包上传,可被任何人解压修改;推送镜像到docker私有仓库;容器的配置文件和需要持久化的文件通过命令挂载在宿主机上。这种技术的缺点是,启动大量docker容器时,如果挂载很多目录在服务器上难于管理,同时这种持久化方式无法被其他节点上的容器使用。另外,应用程序升级包的安全性没有得到很好的保证,容器的镜像仓库不支持权限管理,从而导致镜像被非法提交产生的安全性的问题。
发明内容
本发明要解决的技术问题是:提出一种基于docker的平台系统部署升级方法及系统,用以解决多节点持久化统一配置文件的问题。
为解决上述问题,本发明采用的技术方案是:
一种基于docker的平台系统部署升级系统,包括升级控制模块、docker镜像仓库以及NFS服务器;其中:
所述docker镜像仓库用于存储各个版本的平台docker镜像;
所述NFS服务器用于通过网络挂载平台配置文件。NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器统一保存所有容器的配置文件,应用程序容器可以通过NFS客户端进行容器挂载获取,从而解决多节点持久化统一配置文件的问题。
当平台接收到升级包之后,所述升级控制模块用于:停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;并使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,配置文件替换完之后,创建并启动所有平台docker容器。
进一步的,为了保证升级包的安全性,平台接收到的升级包为通过对称加密的升级包。对称加密是需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。
进一步的,所述docker镜像可以是具有权限管理的docker镜像仓库,镜像仓库具有权限管理,提交镜像需要管理员权限,可保证应用程序容器镜像的安全,防止镜像存在恶意漏洞。
基于以上系统,一种基于docker的平台系统部署升级方法如下:
当平台接收到升级包之后,首先停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;之后使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,最后创建并启动所有平台docker容器。
本发明的有益效果是:本发明通过NFS服务器统一保存所有容器的配置文件,应用程序容器可以通过NFS客户端进行容器挂载获取,解决了多节点持久化统一配置文件的问题。且本发明中升级包通过对称加密算法加密解密升级包,保证升级包的安全性。docker镜像仓库具有权限管理,提交镜像需要管理员权限,保证应用程序容器镜像的安全,防止镜像存在恶意漏洞。
具体实施方式
为了解决平台已有的系统升级部署所存在的多节点持久化统一配置文件问题,本发明提供了一种基于docker的平台系统部署升级系统,包括升级控制模块、docker镜像仓库以及NFS服务器;其中:
所述docker镜像仓库用于存储有各个版本的平台docker镜像;并且,docker镜像可以进一步是具有权限管理的docker镜像仓库,镜像仓库具有权限管理,提交镜像需要管理员权限,可保证应用程序容器镜像的安全,防止镜像存在恶意漏洞;
所述NFS服务器用于通过网络挂载平台配置文件。NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器统一保存所有容器的配置文件,应用程序容器可以通过NFS客户端进行容器挂载获取,从而解决多节点持久化统一配置文件的问题。
当平台接收到升级包之后,所述升级控制模块用于:停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;并使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,配置文件替换完之后,创建并启动所有平台docker容器。
为了保证升级包的安全性,平台接收到的升级包为通过对称加密的升级包。对称加密是需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。
基于以上本发明的系统,本发明还提供了一种基于docker的平台系统部署升级方法,包括:当平台接收到升级包之后,首先停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;之后使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,最后创建并启动所有平台docker容器。
相应的,平台接收到的升级包也可以为通过对称加密的升级包;推送docker镜像时,也可以将构建的docker镜像推送到具有权限管理的docker镜像仓库中。
实施例
实施例提供了一种基于docker的平台系统部署升级系统及方法,其中的系统包括管理版本模块、升级管理模块、升级控制模块、docker镜像仓库以及NFS服务器,其中所述NFS服务器用于通过网络挂载平台配置文件,平台系统部署升级方法流程如下:
(1)、工程人员在Jenkins编译服务器上编译平台代码,打包压缩并通过对称加密生成bin文件。
(2)、管理人员将bin文件上传到平台。
(3)、平台后端管理版本模块解密上传文件,并校验文件的完整性。校验成功后,生成升级包开始升级的标志,修改数据库升级标志,web界面显示正在升级。
(4)、平台后端升级管理模块感知升级标志,把升级包移到升级文件夹,解压升级。
(5)、升级时升级控制模块停止自动监控运维模块,停止并删除所有承载平台业务的docker容器,同时升级控制模块通过平台版本文件获取平台当前版本号,根据平台当前版本号删除平台当前版本号所对应的所有平台docker镜像,并通过数据库版本管理工具获取数据库版本,判断是否执行升级数据库文件;当执行升级数据库文件时,升级控制模块使用升级包内平台业务源码构建docker镜像,给docker镜像生成版本tag,通过Api使用镜像仓库管理员用户密码登录,推送docker镜像到具有权限管理的docker镜像仓库,docker镜像仓库里存储各个版本的平台镜像,便于版本镜像管理保存。更新平台配置文件时,升级控制模块将NFS服务器挂载文件夹下的应用程序所需配置文件替换,最后创建并启动所有平台docker容器。
(6)、升级时如果出现异常会退出,升级管理模块得到异常退出状态码,将升级日志保存到error-log文件夹下,管理人员会通过升级失败日志定位问题。
(7)、升级正常完成后,再更新升级管理模块并启动,升级时会修改数据库升级标志,后台程序全部启动后,web界面显示最新版本号。

Claims (2)

1.一种基于docker的平台系统部署升级方法,其特征在于,平台的配置文件需通过网络挂载于NFS服务器;当平台接收到通过对称加密的升级包之后,首先停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;之后使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到具有权限管理的docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,最后创建并启动所有平台docker容器。
2.一种基于docker的平台系统部署升级系统,其特征在于,包括升级控制模块、docker镜像仓库以及NFS服务器;
所述docker镜像仓库用于存储各个版本的平台docker镜像;
所述NFS服务器用于通过网络挂载平台配置文件;
当平台接收到通过对称加密的升级包之后,所述升级控制模块用于:停止并删除所有承载平台业务的docker容器,并通过平台版本文件获取平台当前版本号,根据平台当前版本号删除docker镜像仓库中平台当前版本号所对应的docker镜像;并使用升级包内平台业务源码构建docker镜像,并将构建的docker镜像推送到具有权限管理的docker镜像仓库中;更新平台配置文件时,将NFS服务器挂载文件夹下的应用程序所需配置文件替换,配置文件替换完之后,创建并启动所有平台docker容器。
CN202010201449.XA 2020-03-20 2020-03-20 一种基于docker的平台系统部署升级方法及系统 Active CN111427600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010201449.XA CN111427600B (zh) 2020-03-20 2020-03-20 一种基于docker的平台系统部署升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010201449.XA CN111427600B (zh) 2020-03-20 2020-03-20 一种基于docker的平台系统部署升级方法及系统

Publications (2)

Publication Number Publication Date
CN111427600A CN111427600A (zh) 2020-07-17
CN111427600B true CN111427600B (zh) 2023-04-21

Family

ID=71548439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010201449.XA Active CN111427600B (zh) 2020-03-20 2020-03-20 一种基于docker的平台系统部署升级方法及系统

Country Status (1)

Country Link
CN (1) CN111427600B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087516A (zh) * 2020-09-10 2020-12-15 星辰天合(北京)数据科技有限公司 基于Docker虚拟化技术的存储升级方法和装置
CN112527357A (zh) * 2020-12-14 2021-03-19 中国平安人寿保险股份有限公司 服务热加载更新方法、装置、计算机设备和存储介质
CN112612508A (zh) * 2020-12-24 2021-04-06 新华三云计算技术有限公司 Api网关中的api版本控制方法、装置及存储介质
CN113127039A (zh) * 2021-04-22 2021-07-16 北京优奥创思科技发展有限公司 一种微服务架构产品自动化升级系统
CN113407220B (zh) * 2021-07-12 2022-04-19 浙江华网俊业科技有限公司 镜像推送本地终端的更新方法、装置
CN114266060B (zh) * 2021-12-28 2024-03-26 航天科工智能运筹与信息安全研究院(武汉)有限公司 一种模型容器加密与部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936636A (zh) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 一种快速部署容器化的云计算测试平台的实现方法
CN107819802A (zh) * 2016-09-13 2018-03-20 华为软件技术有限公司 一种在节点集群中的镜像获取方法、节点设备及服务器
CN108021427A (zh) * 2017-11-23 2018-05-11 国家电网公司 基于Docker的信息系统部署及升级管理方法
CN109871213A (zh) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 基于国产平台的OpenStack容器化系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007509B1 (en) * 2015-12-08 2018-06-26 Amazon Technologies, Inc. Container handover for device updates
CN105763602B (zh) * 2016-01-29 2017-12-01 腾讯科技(深圳)有限公司 一种数据请求处理的方法、服务器及系统
CN106888254B (zh) * 2017-01-20 2020-08-18 华南理工大学 一种基于Kubernetes的容器云架构及其各模块之间的交互方法
US10908999B2 (en) * 2018-07-30 2021-02-02 EMC IP Holding Company LLC Network block device based continuous replication for Kubernetes container management systems
CN109491674A (zh) * 2018-11-07 2019-03-19 李斌 一种在Kubernetes集群中自动部署服务的方法与系统
CN109981351A (zh) * 2019-03-06 2019-07-05 浪潮通用软件有限公司 一种私有云部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819802A (zh) * 2016-09-13 2018-03-20 华为软件技术有限公司 一种在节点集群中的镜像获取方法、节点设备及服务器
CN106936636A (zh) * 2017-03-15 2017-07-07 无锡华云数据技术服务有限公司 一种快速部署容器化的云计算测试平台的实现方法
CN108021427A (zh) * 2017-11-23 2018-05-11 国家电网公司 基于Docker的信息系统部署及升级管理方法
CN109871213A (zh) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 基于国产平台的OpenStack容器化系统及方法

Also Published As

Publication number Publication date
CN111427600A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111427600B (zh) 一种基于docker的平台系统部署升级方法及系统
US9037642B2 (en) Platform for deployment and distribution of modules to endpoints
US9390281B2 (en) Protecting data in insecure cloud storage
US8230222B2 (en) Method, system and computer program for deploying software packages with increased security
KR101098745B1 (ko) 소프트웨어 업데이트를 관리하고 통신하기 위한 시스템 및방법
Moran et al. A firmware update architecture for internet of things
US7480907B1 (en) Mobile services network for update of firmware/software in mobile handsets
EP1579301B1 (en) Method, system and computer-readable medium for a software distribution service
JP4242819B2 (ja) オフライン作業可能な端末を有する計算機システム
US8799890B2 (en) Generating a version identifier for a computing system based on software packages installed on the computing system
US8578170B2 (en) Bundle verification
KR20060114616A (ko) 델타 압축 패칭을 이용하여 파일을 업데이트하기 위한시스템 및 방법
JP2007520819A (ja) 配布されたポリシーにより駆動されるソフトウェア配信
EP2283447A1 (en) Secure application streaming
JP2009193218A (ja) ファームウェア更新装置およびファームウェア更新システム
KR20130012929A (ko) 데이터 패키지의 효율적인 다운로드 방법 및 시스템
CN106209754A (zh) 版本控制系统中对软件包自动签名的方法和系统
CN111158719A (zh) 应用软件升级方法及装置
US8646070B1 (en) Verifying authenticity in data storage management systems
US20200319873A1 (en) Manifest Trialing Techniques
KR102192483B1 (ko) 배송가능한 스토리지 디바이스의 프로비저닝 및 배송가능한 스토리지 디바이스로부터 데이터 입수
CN113448601B (zh) 基于内容分发网络的软件包安装方法、装置、设备和系统
CN115086287A (zh) 一种软件产品自动部署方法及系统
CN110851837B (zh) 一种基于可信计算的自助设备、其安全管理系统及方法
CN111427609A (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