APP下载

基于Docker的高校网站自动部署应用

2017-12-30杨洪娇

无线互联科技 2017年16期
关键词:镜像容器部署

杨洪娇

(天津外国语大学,天津 300204)

基于Docker的高校网站自动部署应用

杨洪娇

(天津外国语大学,天津 300204)

高校网站数量日益增多,如何针对高校网站设计资源利用率高、运行维护方便的网站部署管理方案成为研究的方向。文章利用Docker虚拟化平台,针对高校网站运行环境相对统一的特点,设计实现了基于Docker的自动部署应用,实现网站自动发布部署。实际应用测试表明,自动部署应用不仅提高了网站部署维护效率,而且进一步提升数据中心资源利用率。

Docker;高校网站;自动部署

1 高校网站应用部署方式现状

随着高校信息化建设的不断深入,高校各业务部门的信息化项目不断增多,数据中心所承载的网站及信息系统应用数量急剧增加,大量网站应用和信息系统部署运维呈现以下特点及问题。

(1)传统虚拟化平台资源利用率不高。高校网站类应用中,宣传展示类网站占比高,运行负载相对较小。虽然传统虚拟化手段已较大提高资源利用效率,但仍需为每个网站应用部署虚拟机。

(2)托管网站运行环境相对统一。高校业务部门网站应用运行环境大都集中在使用Tomcat+Mysql运行环境、Apache+Mysql运行环境、IIS运行环境等平台上。尤其对宣传类网站,其开发方式及运行环境相对统一,重复部署运行平台同样降低网站部署和运维的效率。

(3)网站应用需要快速部署和迁移。大量网站运行除了需要快速部署完成上线外,还需要实现运维管理、监控等功能高效执行,保证故障迁移等过程中的服务高可用性。

2 容器技术及Docker虚拟化平台

基于上述网站应用的特点及问题,本文提出了在Docker虚拟化平台上实现应用自动部署的解决方案。利用虚拟化工具、自动化脚本等技术针对不同的部署方案实现网站应用的快速自动化部署。

2.1 Docker虚拟化平台

Docker利用容器技术实现高效的应用运行平台。与虚拟机不同的是,运行的容器并不绑定整个操作系统,它仅把需要的运行库及配置打包成容器独立运行,并能保证在任何Docker平台上都稳定运行。Docker镜像保存着容器运行所需的运行环境及配置信息,镜像来自于仓库,并且采用分层存储的文件系统,提高复用性。

高校网站自动部署工具主要利用Docker平台的运维解决方案,利用容器技术快速建立网站应用的独立运行环境并部署。

2.2 Rancher Docker管理系统

Rancher是Docker的一个管理系统,使得Docker平台更方便地实现集群化管理、应用监控等功能,适应生产环境的需要。

要将Docker平台引入生产环境,需要考虑Docker的集群部署与管理、安全技术、与容器技术相关的网络管理等组件。Rancher正是集成了相关技术的一整套Docker管理系统,利用Rancher内置的基础设施服务,可将Docker部署于虚拟主机或云平台等系统上,并支持基于Kubernetes等技术的集群管理技术。同时,Rancher系统提供了基于Environment,Stack,Service等概念的容器部署管理平台。Environment作为区分不用应用场景的平台,包含多个Stack,同一个Stack下有多个Service,可分别负责网站前端、数据库服务等功能,对同一个Service,可以是一个或多个运行的Docker容器,并可部署在多台由Rancher管理的主机上。

Rancher提供了良好的可视化管理界面,对Docker集群和服务进行集中管理和控制,同时,Rancher也提供了Rancher CLI管理环境,可以根据实际生产业务需要进行Rancher的自定义开发。

2.3 Compose文件

Compose文件是一个YAML格式的文件,用于定义容器的服务、网络以及卷等信息。相比利用Docker命令方式传递服务配置,Compose文件更利于管理容器配置,与Docker命令配合更可应用于特定业务场景,实现自定义的容器管理。Compose文件所定义的主要配置包括服务使用的镜像、对外开放的端口、挂载的外部存储等信息。

3 基于Docker的网站自动部署应用

在高校数据中心管理过程中,传统的网站应用发布过程往往需要在建立好虚拟化环境后手动进行网站服务的发布和服务配置工作。Docker服务的部署通过镜像仓库中的镜像实现。

借助于Docker平台的快速部署及镜像定制功能,采用自动化的脚本,针对不同的环境开发自动化部署工具,发布网站应用仅需提供发布内容及配置文件即可自动化部署。自动部署应用主要由部署信息管理、自动部署管理端以及自动化部署程序组成。

3.1 自动部署配置管理模块

自动部署应用根据校园网网站的特点,针对不同运行环境抽象出相应的配置项目,使用时仅对相应配置进行设置并提供部署文件即可快速部署。如用户发布基于Tomcat运行环境的应用,在自动部署时选择Tomcat版本及JDK环境,并提供网站应用的名称、数据库名称及连接密码、上传的发布目录名即可。

网站自动部署应用自动解析处理相关配置并实现快速部署,只需设置应用暴露给用户的选项并上传部署文件即可完成快速部署。

3.2 自动部署管理界面

自动部署管理模块对通过自动部署应用进行部署的网站进行全生命周期的管理,包括网站上线、网站备份、网站变更、网站下线等管理,还可利用Rancher管理平台对应用使用的基础设置进行查看和配置,包括服务所在的Docker主机、冗余部署数量、访问地址及端口等信息。

3.3 自动部署程序模块

应用自动部署程序模块是网站自动部署应用的核心功能,模块对由管理端传入的应用配置信息及部署文件进行解析。

3.3.1 Docker镜像生成

在程序对配置信息进行解析后,首先进行应用镜像生成步骤,镜像生成包括网站部署镜像和数据库服务镜像。根据用户选择的发布环境和运行环境,选择对应的镜像作为网站部署基础镜像,将用户的部署文件复制到网站部署基础镜像中,并记录该镜像的版本号,生成本次部署的镜像文件。根据用户选择的数据库版本选择对应的数据库基础镜像,并将用户部署文件中的数据库初始化文件复制入镜像内,用于Docker镜像启动时初始化数据库信息。之后把生成的镜像上传至镜像仓库,方便后续使用时调用。

3.3.2 Docker Compose文件生成

Compose文件主要包括Services,Volumes等设置,Services定义启动的Docker服务的信息,如使用的镜像、外部目录、开放的端口等信息。Compose配置还包括Volumes信息,用于配置对应镜像挂载的外部目录,由Rancher的基础设施服务提供支持,配置后在Docker服务启动后将加载Volumes目录中存储的网站发布文件。

3.3.3 启动Docker服务

利用Rancher CLI命令工具连接至Rancher管理系统,解析生成的Compose文件并由Rancher系统启动Docker服务。Rancher CLI连接时需要提供Rancher的服务器地址及Access-Key,Secrey-Key,以保证连接的安全性,Rancher CLI提供包括上传Compose文件在内的多个命令,可以方便地用命令管理Docker镜像,在上传Compose文件的同时可以指定相应的Stack名称,方便在Rancher页面对网站应用进行管理。

3.4 自动部署应用测试

本文以基于Tomcat8+JDK7的网站发布环境与MySQL数据库环境为例,进行网站自动部署的测试,在登陆自动部署管理界面后,从选择框中选择对应的网站发布环境,在配置管理区域中进行发布配置,设置网站应用连接MySQL的数据库名称及密码,以及网站发布文件的目录名、开放访问的端口及Rancher Stack的显示名称。

在完成配置及选择网站应用文件后,即可点击上传并发布按钮,自动部署应用自动将网站目录上传并解析配置信息,最后由Rancher根据Compose文件执行服务启动命令。实际测试中,上传完成后仅需13s即可通过配置的端口号访问到发布的网站服务,极大地便捷了网站发布的流程,提高了发布管理的效率。

4 结语

本文利用Docker虚拟化技术,针对高校校园网网站发布模式相对固定,资源占用相对较低,但是数量较多且需要集中管理的问题,设计实现了基于Docker的高校网站自动部署应用,利用Rancher管理平台实现网站的快速自动部署,提高部署效率的同时也提高了虚拟系统的资源利用效率。最后,本文以Tomcat及MySQL发布平台为例进行应用测试,实现了网站的自动部署功能。下一步的工作需要进一步加强网站的全生命周期管理,另外对众多已经部署的网站日志文件进行汇总、分析等利用开发也需要进一步研究。

[1]谢超群.Docker 容器技术在高校数据中心的应用[J].贵阳学院学报(自然科学版),2015(4):27-29.

[2]刘熙,胡志勇.基于Docker容器的Web集群设计与实现[J].电子设计工程,2016(8):117-119.

[3]彭勇,谢剑,童遥,等.一种基于Docker的数据中心云平台实现方法及系统[J].中兴通讯技术,2017(2):60-62.

Application of websites automatic deployment based on Docker in colleges and universities

Yang Hongjiao
(Tianjin Foreign Studies University, Tianjin 300204, China)

The number of websites in colleges and universities is increasing day by day. How to design a websites deployment scheme with high utilization rate, easy to operate and maintain is the direction of research in colleges and universities. Based on the Docker virtualization platform, aiming at the characteristics of the relatively uniform running environment of the website in colleges and universities, this paper designs and realizes the application of websites automatic deployment based on Docker, to realize the websites automatic deployment. The practical application tests show that application of automated deployment not only improves the ef fi ciency of website deployment maintenance, but also further enhances the utilization of data center resource .

Docker; websites in colleges and universities; automatic deployment

杨洪娇(1988— ),男,河北石家庄人,硕士,助理工程师;研究方向:模式识别和图像处理。

猜你喜欢

镜像容器部署
Different Containers不同的容器
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
难以置信的事情
部署“萨德”意欲何为?