CN107463432A - 服务器生产环境部署方法、装置、电子设备及存储介质 - Google Patents
服务器生产环境部署方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN107463432A CN107463432A CN201710706649.9A CN201710706649A CN107463432A CN 107463432 A CN107463432 A CN 107463432A CN 201710706649 A CN201710706649 A CN 201710706649A CN 107463432 A CN107463432 A CN 107463432A
- Authority
- CN
- China
- Prior art keywords
- production environment
- server
- docker
- mirror image
- container
- 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
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
- 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
Abstract
本发明实施例提供了一种服务器生产环境部署方法、装置、电子设备及存储介质,其中方法包括:使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;启动容器,加载用于部署所述安装包生产环境的所述镜像。本发明实施例通过docker的方式部署服务器生产环境,实现了快速部署服务器生产环境,以及快速运行启动生产环境。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种服务器生产环境部署方法、装置、电子设备及存储介质。
背景技术
服务器生产环境是指在该服务器上运行项目时所需的运行软件环境。现有技术在虚拟机上部署web服务器生产环境的方法为,提前设置web服务器的所有配置文件,形成预配置文件;选择适合搭建web服务器对应的编译语言环境的虚拟机;在该虚拟机上通过逐一安装所要生产的web服务器对应的包管理工具以及源代码;对安装完成的包管理工具以及源代码逐一进行生产成所需的web服务器对应的配置;配置完成后运行该虚拟机即可完成在该虚拟机上实现对web服务器生产环境的部署。当需要部署另外的虚拟机时,重复以上步骤。
现有技术在使用虚拟机部署web服务器的生产环境时,由于安装包过多,逐一下载并在虚拟机上逐一安装生产web服务器所需的所有安装包,在安装以及配置时耗费的时间过长。另外,在配置完成后对虚拟机运行,由于需要加载的安装包多则启动运行的时间长。综上,现有在虚拟机上部署web服务器生产环境的方法,耗时长,运行启动时速率低。
发明内容
本发明实施例的目的在于提供一种服务器生产环境部署方法、装置、电子设备及存储介质,以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体技术方案如下:
为达到上述发明目的,本发明实施例公开了一种服务器生产环境部署方法,包括:
使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动容器,加载用于部署所述安装包生产环境的所述目标镜像。
可选地,在所述使用应用容器引擎docker的镜像创建命令之前,所述方法还包括:
在所述服务器上安装所述docker。
可选地,在所述按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像之后,所述方法还包括:
打包所述目标镜像;
在共享区域存储打包后的所述目标镜像。
可选地,所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动所述容器,加载所述目标镜像。
可选地,在所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
可选地,所述使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像,包括:
当所述容器故障无法加载所述目标镜像时,使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
为达到上述发明目的,本发明实施例还公开了一种服务器生产环境部署装置,包括:
创建镜像模块,用于使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
配置模块,用于按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动模块,用于启动容器,加载用于部署所述安装包生产环境的所述目标镜像。
可选地,所述装置还包括:
安装模块,用于在所述服务器上安装所述docker。
可选地,所述装置还包括:
打包模块,用于打包所述目标镜像;
存储模块,用于在共享区域存储打包后的所述目标镜像。
可选地,所述启动模块,具体用于使用所述docker的启动命令,启动所述容器,加载所述目标镜像。
可选地,所述启动模块,具体还用于使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
可选地,所述启动模块,具体还用于当所述容器故障无法加载所述目标镜像时,使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
为达到上述发明目的,本发明实施例还公开了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述服务器生产环境部署方法的任一方法步骤。
为达到上述发明目的,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述服务器生产环境部署方法的任一方法步骤。
本发明实施例提供的一种服务器生产环境部署方法、装置、电子设备及存储介质,可以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体为,在服务器上直接使用应用容器引擎docker的镜像创建命令,创建镜像,进而配置镜像,使镜像生成与待运行在该服务器上所有安装程序所需的底层运行环境一致的镜像。本发明实施例使用镜像可一次性创建所有安装程序所需的底层环境以及配置,比起现有技术中使用虚拟机逐一安装、逐一配置,本发明实施例大大提高了部署的效率。最后,启动容器,加载目标镜像,部署生产环境对比现有虚拟机启动时需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,本发明实施例使用容器的方式启动,启动时速度更快。综上,本发明实施例的一种服务器生产环境部署方法、装置、电子设备及存储介质,可实现快速部署服务器生产环境、快速运行启动部署完成的服务器生产环境。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种服务器生产环境部署方法流程图;
图2为本发明实施例的一种服务器生产环境部署装置结构示意图;
图3为本发明实施例的一种计算机设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为达到上述发明目的,本发明实施例公开了一种服务器生产环境部署方法,如图1所示。图1为本发明实施例的一种服务器生产环境部署方法流程图,包括:
S101,使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像。
随着互联网技术的不断发展,从各种操作系统到各种中间件再到各种应用程序,一款产品能够成功发布,作为开发者需要关心的东西太多,且难于管理,这个问题在软件行业中普遍存在并需要直接面对。
docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统Linux机器上,也可以实现虚拟化。docker可以简化部署多种应用实例工作,比如Web应用、后台应用、数据库应用、大数据应用比如Hadoop集群、消息队列等等都可以打包成一个镜像部署。
在本步骤中,可列出当前docker系统中的所有镜像,按照当前待运行在该服务器上的安装包所需要的运行环境的需求选择所需镜像,调用创建镜像命令,在服务器上创建镜像。或者自定义与当前待运行在该服务器上的安装包所需要的运行环境相关的私有镜像,使用创建镜像命令,在服务器上创建镜像。
S102,按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境。
待运行在服务器上的安装包类似于运行在手机上的应用软件,在本步骤中按照待运行在该服务器上的安装包所需生产环境配置镜像,类似于将手机配置成适合应用软件运行的环境。在本发明实施例中,将镜像配置成待运行在所述服务器上的安装包所需生产环境形成的镜像,定义为本发明实施例的目标镜像。
通过上一步骤创建的镜像,以及当前待运行在该服务器上的安装包所需要的运行环境,将上述创建的镜像中的各项配置或者运行环境参数进行调整配置成当前待运行在该服务器上的安装包所需要的运行环境。
S103,启动容器,加载用于部署所述安装包生产环境的所述目标镜像。
在上述形成目标镜像后,使用docker的镜像启动命令,创建以及启动容器,将上述形成的目标镜像加载到该容器中,并且运行该目标镜像的所有配置,进而完成部署当前待运行在该服务器的安装包所需的生产环境。
本发明实施例提供的一种服务器生产环境部署方法,可以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体为,在服务器上直接使用应用容器引擎docker的镜像创建命令,创建镜像,进而配置镜像,使镜像生成与待运行在该服务器上所有安装程序所需的底层运行环境一致的镜像。本发明实施例使用镜像可一次性创建所有安装程序所需的底层环境以及配置,比起现有技术中使用虚拟机逐一安装、逐一配置,本发明实施例大大提高了部署的效率。最后,启动容器,加载目标镜像,部署生产环境对比现有虚拟机启动时需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,本发明实施例使用容器的方式启动,启动时速度更快。综上,本发明实施例的一种服务器生产环境部署方法、装置、电子设备及存储介质,可实现快速部署服务器生产环境、快速运行启动部署完成的服务器生产环境。
可选地,在本发明的服务器生产环境部署方法的一种实施例中,在所述使用应用容器引擎docker的镜像创建命令之前,所述方法还包括:
在所述服务器上安装所述docker。
随着云计算时代的到来,业务流程管理开发平台AWS的成功,引导开发者将应用转移到云上,解决硬件管理的问题。云时代采用标配硬件来降低成本,采用虚拟化手段来满足用户按需分配的资源需求以及保证可用性和隔离性。然而无论是多电脑切换器KVM还是开源虚拟化技术Xen,在docker看来都在浪费资源,因为用户需要高效运行环境而非操作系统。操作系统Guest既浪费资源又难于管理,而更加轻量级的内核虚拟化技术LXC,则更加灵活和快速。LXC在Linux2.6的Kernel里就已经存在了,但是其设计之初并非为云计算考虑的,缺少标准化的描述手段和容器的可便携性,决定其构建出的环境难于分发和标准化管理。Docker就在这个问题上做出了实质性的创新方法。
docker有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上。
docker使用客户端-服务器(C/S)架构模式。docker客户端会与docker守护进程进行通信。docker守护进程会处理复杂繁重的任务,例如建立、运行、发布你的docker容器。docker客户端和守护进程可以运行在同一个系统上,当然也可以使用docker客户端去连接一个远程的docker守护进程。docker客户端和守护进程之间通过套接字socket或者网络系统应用程序编程接口RESTful API进行通信。在本步骤中,将docker服务端和docker客户端按照docker的安装过程,安装在该服务器上。
可见,通过本发明实施例可实现将docker安装在服务器上,为后期使用docker服务配置生产环境提供前提条件。
可选地,在本发明的服务器生产环境部署方法的一种实施例中,在所述按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像之后,所述方法还包括:
步骤一,打包所述目标镜像。
docker镜像是docker容器运行时的只读模板,每一个镜像由一系列的层layers组成。docker将这些层联合到单独的镜像中,形成一个单独连贯的文件系统。正因为有了这些层的存在,docker才会如此的轻量。当改变了一个docker镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新的层被添加或升级了。不用重新发布整个镜像,只需要升级,层使得分发docker镜像变得简单和快速。
在本步骤中,可使用打包命令docker save debian02>/root/myapp.tar,打包按照待运行在所述服务器上的安装包所需生产环境创建的镜像,生成与安装包所需生产环境一致的目标镜像,将该目标镜像打包成压缩文件。
步骤二,在共享区域存储打包后的所述目标镜像。
共享区域可为docker的数据卷或者可为私有docker仓库。
docker管理数据的方式有两种:数据卷、数据卷容器。数据卷是一个或多个容器专门指定绕过联合文件系统Union File System的目录,为持续性或共享数据提供一些有用的功能:数据卷可以在容器间共享和重用;数据卷数据改变是直接修改的;数据卷数据改变不会被包括在容器中;数据卷是持续性的,直到没有容器使用它们。可以使用-v选项添加一个数据卷,或者可以使用多次-v选项为一个docker容器运行挂载多个数据卷。
docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,docker仓库也有公有和私有的概念。公有的docker仓库名字是docker Hub。docker Hub提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。docker仓库是docker的分发部分。
docker官方提供了docker registry的构建方法构造私有docker仓库。快速构建docker registry通过以下两步:安装docker;运行registry:docker run-p5000:5000registry。
在本步骤中,将上述打包后的目标镜像存储在Docker的数据卷或者私有docker仓库中。
可见,通过本发明实施例可实现将目标镜像打包,进而将打包后的目标镜像存储在共享区域中,便于重复使用该目标镜像的资源时,直接调用该目标镜像的资源,而不需要再次重建镜像。
可选地,在本发明的服务器生产环境部署方法的一种实施例中,所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动所述容器,加载所述目标镜像。
docker容器和文件夹很类似,一个docker容器包含了所有的待安装在该服务器上的安装应用运行所需要的环境。每一个docker容器都是从docker镜像创建的。docker容器可以运行、开始、停止、移动和删除。每一个docker容器都是独立和安全的应用平台,docker容器是docker的运行部分。
在本步骤中,使用docker run启动容器,docker run后加上目标镜像的名称,可将目标镜像加载到该容器中。
另外,使用docker run创建docker容器时,还可以用--net选项指定容器的网络模式。docker有以下4种网络模式:host模式,使用--net=host指定;container模式,使用--net=container:NAMEorID指定;none模式,使用--net=none指定;bridge模式,使用--net=bridge指定,默认设置。
可见,通过本发明实施例可实现创建容器,将上述形成的目标镜像加载到该容器中,运行该目标镜像中的配置,进而完成对生产部署安装包的生产环境。另外,使用容易启动时通常在一秒内便可启动,启动速度快,比起虚拟机的启动速率大大提升。
可选地,在本发明的服务器生产环境部署方法的一种实施例中,在所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
在本发明实施例中,可在该服务器上多次调用docker的启动命令,启动除所述容器以外的其他多个容器,加载该目标镜像。
具体地,当所述容器故障无法加载所述目标镜像时,使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
为了在docker build过程中更快上传和更加高效,应该使用docke rignore文件来排除构建镜像时不需要的文件或目录。为了降低复杂性、依赖性、文件大小以及构建时间,应该避免安装额外的或不必要的包。例如,不需要在一个数据库镜像中安装一个文本编辑器。
镜像构建过程中会按照docker file的顺序依次执行,每执行一次指令,docker服务可在缓存中查找存储的该目标镜像。
使用docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
另外,如果当前安装包的程序线上压力过大,也可启动另外一个docker容器加载该目标镜像,通过负载配置进行分发容器的访问情况。
可见,通过本发明实施例可实现在一台服务器上创建多个容器加载目标镜像,资源利用率高;虚拟机通常需要额外的CPU和内存来完成操作系统的功能,这一部分占据了额外的资源,本发明实施例通过将目标镜像存储在缓存中,减少了性能开销小。此外,因为虚拟机的Hypervisor需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销,本发明实施例直接启动容器则启动速度和资源利用率更高。
为达到上述发明目的,本发明实施例还公开了一种服务器生产环境部署装置,如图2所示。图2为本发明实施例的一种服务器生产环境部署装置结构示意图,包括:
创建镜像模块201,用于使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
配置模块202,用于按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动模块203,用于启动容器,加载用于部署所述安装包生产环境的所述目标镜像。
本发明实施例提供的一种服务器生产环境部署装置,可以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体为,在服务器上直接使用应用容器引擎docker的镜像创建命令,创建镜像,进而配置镜像,使镜像生成与待运行在该服务器上所有安装程序所需的底层运行环境一致的镜像。本发明实施例使用镜像可一次性创建所有安装程序所需的底层环境以及配置,比起现有技术中使用虚拟机逐一安装、逐一配置,本发明实施例大大提高了部署的效率。最后,启动容器,加载目标镜像,部署生产环境对比现有虚拟机启动时需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,本发明实施例使用容器的方式启动,启动时速度更快。综上,本发明实施例的一种服务器生产环境部署方法、装置、电子设备及存储介质,可实现快速部署服务器生产环境、快速运行启动部署完成的服务器生产环境。
需要说明的是,本发明实施例的装置是应用上述一种服务器生产环境部署方法的装置,则上述服务器生产环境部署的方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
可选地,在本发明的服务器生产环境部署装置的一种实施例中,所述装置还包括:
安装模块,用于在所述服务器上安装所述docker。
可选地,在本发明的服务器生产环境部署装置的一种实施例中,所述装置还包括:
打包模块,用于打包所述目标镜像;
存储模块,用于在共享区域存储打包后的所述目标镜像。
可选地,在本发明的服务器生产环境部署装置的一种实施例中,所述启动模块203,具体用于使用所述docker的启动命令,启动所述容器,加载所述目标镜像。
可选地,在本发明的服务器生产环境部署装置的一种实施例中,所述启动模块203,具体还用于使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
可选地,在本发明的服务器生产环境部署装置的一种实施例中,所述启动模块203,具体还用于当所述容器故障无法加载所述目标镜像时,使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
为达到上述发明目的,本发明实施例还公开了一种计算机设备,如图3所示。图3为本发明实施例的一种计算机设备结构示意图,包括处理器301、通信接口302、存储器303和通信总线304,其中,所述处理器301、所述通信接口302、所述存储器302通过所述通信总线304完成相互间的通信,
所述存储器302,用于存放计算机程序;
所述处理器301,用于执行所述存储器上所存放的程序时,实现如下步骤:
使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动容器,加载用于部署所述安装包生产环境的所述镜像。
上述电子设备提到的通信总线304可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线304可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口302用于上述电子设备与其他设备之间的通信。
存储器303可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器303还可以是至少一个位于远离前述处理器301的存储装置。
上述的处理器301可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的一种计算机设备,可以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体为,在服务器上直接使用应用容器引擎docker的镜像创建命令,创建镜像,进而配置镜像,使镜像生成与待运行在该服务器上所有安装程序所需的底层运行环境一致的镜像。本发明实施例使用镜像可一次性创建所有安装程序所需的底层环境以及配置,比起现有技术中使用虚拟机逐一安装、逐一配置,本发明实施例大大提高了部署的效率。最后,启动容器,加载目标镜像,部署生产环境对比现有虚拟机启动时需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,本发明实施例使用容器的方式启动,启动时速度更快。综上,本发明实施例的一种服务器生产环境部署方法、装置、电子设备及存储介质,可实现快速部署服务器生产环境、快速运行启动部署完成的服务器生产环境。
为达到上述发明目的,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动容器,加载用于部署所述安装包生产环境的所述镜像。
本发明实施例提供的一种计算机可读存储介质,可以实现快速部署服务器生产环境,以及快速运行启动生产环境。具体为,在服务器上直接使用应用容器引擎docker的镜像创建命令,创建镜像,进而配置镜像,使镜像生成与待运行在该服务器上所有安装程序所需的底层运行环境一致的镜像。本发明实施例使用镜像可一次性创建所有安装程序所需的底层环境以及配置,比起现有技术中使用虚拟机逐一安装、逐一配置,本发明实施例大大提高了部署的效率。最后,启动容器,加载目标镜像,部署生产环境对比现有虚拟机启动时需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,本发明实施例使用容器的方式启动,启动时速度更快。综上,本发明实施例的一种服务器生产环境部署方法、装置、电子设备及存储介质,可实现快速部署服务器生产环境、快速运行启动部署完成的服务器生产环境。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种服务器生产环境部署方法,其特征在于,包括:
使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动容器,加载用于部署所述安装包生产环境的所述镜像。
2.根据权利要求1所述的方法,其特征在于,在所述使用应用容器引擎docker的镜像创建命令之前,所述方法还包括:
在所述服务器上安装所述docker。
3.根据权利要求1所述的方法,其特征在于,在所述按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像之后,所述方法还包括:
打包所述目标镜像;
在共享区域存储打包后的所述目标镜像。
4.根据权利要求1所述的方法,其特征在于,所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动所述容器,加载所述目标镜像。
5.根据权利要求3或4所述的方法,其特征在于,在所述启动容器,加载用于部署所述安装包生产环境的所述目标镜像,包括:
使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
6.根据权利要求5所述的方法,其特征在于,所述使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像,包括:
当所述容器故障无法加载所述目标镜像时,使用所述docker的启动命令,启动除所述容器以外的其他容器,加载所述目标镜像。
7.一种服务器生产环境部署装置,其特征在于,包括:
创建镜像模块,用于使用应用容器引擎docker的镜像创建命令,在服务器上创建镜像;
配置模块,用于按照待运行在所述服务器上的安装包所需生产环境配置所述镜像,生成与所述安装包所需生产环境一致的目标镜像,其中,所述生产环境为待运行在所述服务器上安装包所需的底层运行环境;
启动模块,用于启动容器,加载用于部署所述安装包生产环境的所述目标镜像。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
打包模块,用于打包所述目标镜像;
存储模块,用于在共享区域存储打包后的所述目标镜像。
9.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信,
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710706649.9A CN107463432A (zh) | 2017-08-17 | 2017-08-17 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710706649.9A CN107463432A (zh) | 2017-08-17 | 2017-08-17 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107463432A true CN107463432A (zh) | 2017-12-12 |
Family
ID=60549970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710706649.9A Pending CN107463432A (zh) | 2017-08-17 | 2017-08-17 | 服务器生产环境部署方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107463432A (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108230A (zh) * | 2018-01-26 | 2018-06-01 | 成都精灵云科技有限公司 | 基于docker的云平台发布系统 |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及系统 |
CN108446326A (zh) * | 2018-02-11 | 2018-08-24 | 江苏微锐超算科技有限公司 | 一种基于容器的异构数据管理方法及系统 |
CN108920136A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于容器的操作系统创建方法、系统及相关装置 |
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
CN109032944A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种缩减软件开发测试时间的系统及方法 |
CN109254778A (zh) * | 2018-08-31 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 用于部署信息流系统的方法和装置 |
CN109614202A (zh) * | 2018-12-04 | 2019-04-12 | 北京京东尚科信息技术有限公司 | 容器环境的备份、恢复以及镜像处理方法和系统 |
CN109634657A (zh) * | 2018-12-14 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 一种微服务打包部署方法及系统 |
CN109669704A (zh) * | 2018-12-17 | 2019-04-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 远程传输加载多节点fpga程序加载管理电路 |
CN109960580A (zh) * | 2017-12-25 | 2019-07-02 | 航天信息股份有限公司 | 一种部署开票服务的方法及系统 |
CN110083366A (zh) * | 2018-01-24 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 应用运行环境的生成方法、装置、计算设备及存储介质 |
CN110096333A (zh) * | 2019-04-18 | 2019-08-06 | 华中科技大学 | 一种基于非易失内存的容器性能加速方法 |
CN110113391A (zh) * | 2019-04-17 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种客户端上线方法、装置及一种客户端运行方法、装置 |
CN110380879A (zh) * | 2018-04-12 | 2019-10-25 | 上海宝信软件股份有限公司 | 基于docker的轨道交通综合监控部署方法及系统 |
CN110445709A (zh) * | 2019-09-11 | 2019-11-12 | 成都千立网络科技有限公司 | 承载docker应用的智能网关 |
CN110458000A (zh) * | 2019-06-28 | 2019-11-15 | 安徽四创电子股份有限公司 | 一种基于docker的视频车辆识别方法 |
CN110851143A (zh) * | 2018-08-21 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 源码部署方法、装置、设备及存储介质 |
CN110908675A (zh) * | 2019-11-15 | 2020-03-24 | 北京百度网讯科技有限公司 | 运行环境获取方法、装置和电子设备 |
CN110928643A (zh) * | 2019-11-15 | 2020-03-27 | 国网甘肃省电力公司 | 一种基于容器化的电力仿真系统部署方法及装置 |
CN111913719A (zh) * | 2019-05-07 | 2020-11-10 | 中移(苏州)软件技术有限公司 | 高可用软件的部署方法、设备、装置和计算机存储介质 |
CN112231061A (zh) * | 2020-10-22 | 2021-01-15 | 浪潮云信息技术股份公司 | 一种云原生容器运行时的方法 |
CN112363802A (zh) * | 2020-11-12 | 2021-02-12 | 中国人寿保险股份有限公司 | 一种应用部署方法及装置 |
CN113553032A (zh) * | 2021-03-02 | 2021-10-26 | 北京星汉博纳医药科技有限公司 | 一种快速咨询用药知识的惠民健康系统 |
CN114090183A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种应用启动方法、装置、计算机设备和存储介质 |
CN114327779A (zh) * | 2021-12-30 | 2022-04-12 | 北京瑞莱智慧科技有限公司 | 一种应用运行环境搭建方法、装置及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582268B2 (en) * | 2015-05-27 | 2017-02-28 | Runnable Inc. | Automatic communications graphing for a source application |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
CN106874052A (zh) * | 2017-02-24 | 2017-06-20 | 北京中电普华信息技术有限公司 | 一种应用程序的部署方法和装置 |
CN106874028A (zh) * | 2016-12-26 | 2017-06-20 | 新华三技术有限公司 | 应用部署方法和装置 |
CN106936636A (zh) * | 2017-03-15 | 2017-07-07 | 无锡华云数据技术服务有限公司 | 一种快速部署容器化的云计算测试平台的实现方法 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN106970822A (zh) * | 2017-02-20 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种容器创建方法及装置 |
-
2017
- 2017-08-17 CN CN201710706649.9A patent/CN107463432A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582268B2 (en) * | 2015-05-27 | 2017-02-28 | Runnable Inc. | Automatic communications graphing for a source application |
CN106648741A (zh) * | 2016-10-18 | 2017-05-10 | 广州视睿电子科技有限公司 | 一种应用系统部署方法及装置 |
CN106874028A (zh) * | 2016-12-26 | 2017-06-20 | 新华三技术有限公司 | 应用部署方法和装置 |
CN106970822A (zh) * | 2017-02-20 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种容器创建方法及装置 |
CN106874052A (zh) * | 2017-02-24 | 2017-06-20 | 北京中电普华信息技术有限公司 | 一种应用程序的部署方法和装置 |
CN106936636A (zh) * | 2017-03-15 | 2017-07-07 | 无锡华云数据技术服务有限公司 | 一种快速部署容器化的云计算测试平台的实现方法 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960580A (zh) * | 2017-12-25 | 2019-07-02 | 航天信息股份有限公司 | 一种部署开票服务的方法及系统 |
CN110083366B (zh) * | 2018-01-24 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 应用运行环境的生成方法、装置、计算设备及存储介质 |
CN110083366A (zh) * | 2018-01-24 | 2019-08-02 | 腾讯科技(深圳)有限公司 | 应用运行环境的生成方法、装置、计算设备及存储介质 |
CN108108230A (zh) * | 2018-01-26 | 2018-06-01 | 成都精灵云科技有限公司 | 基于docker的云平台发布系统 |
CN108446326A (zh) * | 2018-02-11 | 2018-08-24 | 江苏微锐超算科技有限公司 | 一种基于容器的异构数据管理方法及系统 |
CN108446326B (zh) * | 2018-02-11 | 2019-01-29 | 江苏微锐超算科技有限公司 | 一种基于容器的异构数据管理方法及系统 |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及系统 |
CN110380879A (zh) * | 2018-04-12 | 2019-10-25 | 上海宝信软件股份有限公司 | 基于docker的轨道交通综合监控部署方法及系统 |
CN108984179B (zh) * | 2018-06-28 | 2022-08-02 | 奇安信科技集团股份有限公司 | 一种Linux下编译处理方法及装置 |
CN108984179A (zh) * | 2018-06-28 | 2018-12-11 | 北京奇安信科技有限公司 | 一种Linux下编译处理方法及装置 |
CN108920136B (zh) * | 2018-06-29 | 2021-10-15 | 郑州云海信息技术有限公司 | 一种基于容器的操作系统创建方法、系统及相关装置 |
CN108920136A (zh) * | 2018-06-29 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种基于容器的操作系统创建方法、系统及相关装置 |
CN109032944A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种缩减软件开发测试时间的系统及方法 |
CN110851143A (zh) * | 2018-08-21 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 源码部署方法、装置、设备及存储介质 |
CN110851143B (zh) * | 2018-08-21 | 2024-04-05 | 阿里巴巴集团控股有限公司 | 源码部署方法、装置、设备及存储介质 |
CN109254778B (zh) * | 2018-08-31 | 2020-06-16 | 百度在线网络技术(北京)有限公司 | 用于部署信息流系统的方法和装置 |
CN109254778A (zh) * | 2018-08-31 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 用于部署信息流系统的方法和装置 |
CN109614202A (zh) * | 2018-12-04 | 2019-04-12 | 北京京东尚科信息技术有限公司 | 容器环境的备份、恢复以及镜像处理方法和系统 |
CN109634657A (zh) * | 2018-12-14 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 一种微服务打包部署方法及系统 |
CN109669704A (zh) * | 2018-12-17 | 2019-04-23 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 远程传输加载多节点fpga程序加载管理电路 |
CN110113391A (zh) * | 2019-04-17 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种客户端上线方法、装置及一种客户端运行方法、装置 |
CN110096333B (zh) * | 2019-04-18 | 2021-06-29 | 华中科技大学 | 一种基于非易失内存的容器性能加速方法 |
CN110096333A (zh) * | 2019-04-18 | 2019-08-06 | 华中科技大学 | 一种基于非易失内存的容器性能加速方法 |
CN111913719A (zh) * | 2019-05-07 | 2020-11-10 | 中移(苏州)软件技术有限公司 | 高可用软件的部署方法、设备、装置和计算机存储介质 |
CN111913719B (zh) * | 2019-05-07 | 2022-12-13 | 中移(苏州)软件技术有限公司 | 高可用软件的部署方法、设备、装置和计算机存储介质 |
CN110458000A (zh) * | 2019-06-28 | 2019-11-15 | 安徽四创电子股份有限公司 | 一种基于docker的视频车辆识别方法 |
CN110445709A (zh) * | 2019-09-11 | 2019-11-12 | 成都千立网络科技有限公司 | 承载docker应用的智能网关 |
CN110928643A (zh) * | 2019-11-15 | 2020-03-27 | 国网甘肃省电力公司 | 一种基于容器化的电力仿真系统部署方法及装置 |
CN110908675A (zh) * | 2019-11-15 | 2020-03-24 | 北京百度网讯科技有限公司 | 运行环境获取方法、装置和电子设备 |
CN110908675B (zh) * | 2019-11-15 | 2023-10-24 | 北京百度网讯科技有限公司 | 运行环境获取方法、装置和电子设备 |
CN112231061A (zh) * | 2020-10-22 | 2021-01-15 | 浪潮云信息技术股份公司 | 一种云原生容器运行时的方法 |
CN112231061B (zh) * | 2020-10-22 | 2023-01-20 | 浪潮云信息技术股份公司 | 一种云原生容器运行时的方法 |
CN112363802A (zh) * | 2020-11-12 | 2021-02-12 | 中国人寿保险股份有限公司 | 一种应用部署方法及装置 |
CN113553032A (zh) * | 2021-03-02 | 2021-10-26 | 北京星汉博纳医药科技有限公司 | 一种快速咨询用药知识的惠民健康系统 |
CN114090183A (zh) * | 2021-11-25 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 一种应用启动方法、装置、计算机设备和存储介质 |
CN114327779A (zh) * | 2021-12-30 | 2022-04-12 | 北京瑞莱智慧科技有限公司 | 一种应用运行环境搭建方法、装置及存储介质 |
CN114327779B (zh) * | 2021-12-30 | 2023-09-01 | 北京瑞莱智慧科技有限公司 | 一种应用运行环境搭建方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463432A (zh) | 服务器生产环境部署方法、装置、电子设备及存储介质 | |
CN112585919B (zh) | 利用基于云的应用管理技术来管理应用配置状态的方法 | |
US10474438B2 (en) | Intelligent cloud engineering platform | |
US9898278B2 (en) | Release and management of composite applications on PaaS | |
CA2781496C (en) | Porting virtual machine images between platforms | |
CN103608773B (zh) | 用于多节点应用的部署系统 | |
CN111984269B (zh) | 提供应用构建服务的方法及应用构建平台 | |
US20070078988A1 (en) | Apparatus, method and system for rapid delivery of distributed applications | |
US9195294B2 (en) | Cooperatively managing enforcement of energy related policies between virtual machine and application runtime | |
WO2022037612A1 (zh) | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 | |
WO2015073940A1 (en) | Dynamic creation and execution of containerized applications in cloud computing | |
US10031762B2 (en) | Pluggable cloud enablement boot device and method | |
US9361120B2 (en) | Pluggable cloud enablement boot device and method that determines hardware resources via firmware | |
US9389874B2 (en) | Apparatus and methods for automatically reflecting changes to a computing solution in an image for the computing solution | |
CN105589731B (zh) | 一种虚拟机迁移方法和装置 | |
CN108334374A (zh) | 组件动态加载与执行的方法和装置 | |
CN115016862A (zh) | 基于Kubernetes集群的软件启动方法、装置、服务器及存储介质 | |
Lubin | VM2Docker: automating the conversion from virtual machine to docker container | |
Lim et al. | Service management in virtual machine and container mixed environment using service mesh | |
Muzumdar et al. | Navigating the Docker Ecosystem: A Comprehensive Taxonomy and Survey | |
CN117555558A (zh) | 一种在嵌入式Linux操作系统上运行Android应用的方法 | |
CN113032094A (zh) | 一种cad容器化方法、装置及电子设备 | |
Iuhasz et al. | Deployment of Cloud Supporting Services | |
Leite et al. | An adaptive enactment engine for complex service compositions on the cloud | |
Clouds | Pierre Riteau |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171212 |