APP下载

基于DaoCloud平台部署Spring Boot项目

2020-01-07理艳荣

湖北农机化 2020年11期
关键词:镜像开发者容器

理艳荣

(广州商学院,广东 广州 511363)

0 引言

云计算、大数据、物联网技术的普及标志着第三次信息化浪潮的到来。传统的应用部署过程复杂、配置繁琐、成本较高且可移植性差。Docker以其轻量灵活,易于迁移,资源利用率高等特点受到业界广泛关注,越来越多企业将自己的传统应用迁移到Docker环境下。Docker容器将软件与其依赖环境打包起来,以镜像方式交付,以容器的方式运行,使得软件所依赖的环境与实际环境相同,而且只需要进行一次构建,即可在其他的机器中正常运行[1]。基于Docker容器应用部署管理平台,满足了开发者开发环境的需求,使得虚拟机的资源消耗和托管环境更简化。利用Docker容器可以提供给开发者轻量级开发环境和各种应用程序的运行环境[2]。

DaoCloud采用Docker轻量级虚拟化技术,针对分布式应用的痛点,推出支持多种语言和后台服务的 DaoCloud持续集成服务。DaoCloud可以实现软件即服务化的持续集成服务,并且可以完成自动测试。一旦用户完成了代码提交,就会自动触发自动化的测试,可以完成代码质量检测。通过Docker镜像的构建可以试验容器化应用发布,依托DaoCloud遍布全球的云服务节点,可以实现秒级的全球业务启动与关闭。

1 关键技术简介

Docker是一套轻量级操作系统虚拟化解决方案,它由go语言编写,可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的生命周期包含3个部分:容器、镜像、仓库。容器是由镜像实例化而来的,镜像可以从仓库里直接下载拉取[3]。Docker让开发者可以打包应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,是目前主流的容器引擎技术[4]。

DaoCloud作为企业级容器云平台,基于Docker容器技术实现应用的快速部署、持续交付及高效运维[5]。在项目开发阶段可以做到持续集成。将项目包上传到GitHub,通过GitHub与DaoCloud的关联,在特定的云主机上运行镜像,从而完成整个部署过程。同时DaoCloud拥有多种主机接入方式,用户可以选择接入云平台、集群、云主机或者自有主机等方式,并且学习用户可以使用胶囊主机进行学习试用等。DaoCloud的核心内容包括:DevOps、微服务、容器化、持续交付、云平台等。通过DaoCloud平台,可以实现云原生开发,具有让开发者轻松玩转容器虚拟化,快速掌握新一代互联网浪潮的前沿技术。

2 部署实现

部署持续集成项目的前期准备:在自己的GitHub账号上传要部署的项目、在DaoCloud平台上使用的云主机。根据持续集成的原理,最终可以实现镜像随着GitHub上项目的更新而更新,并且在主机上部署最新的应用。本文研究的是Spring Boot项目基于DaoCloud平台部署的过程,项目需要数据库的支持。部署的过程中需要利用2个镜像分别是:项目镜像、数据库镜像(MySQL)。

操作步骤:

由于项目是以Spring Boot为技术开发核心的,需要在项目中的配置文件中增加Docker插件。本步骤应用容器化的基础。

在本地主机上将项目打包,让本地虚拟机获取到此项目。虚拟机终端输入命令:mvn clean使其产生target目录。使用maven构建jar,运行mvn package。再运行命令行:docker build生成项目镜像以及用于DaoCloud构建镜像的Dockerfile文件。最后执行命令:docker images就能看到生成的镜像。

将完成的项目镜像托管至Github仓库。同时需要在DaoCloud平台上完成GitHub平台的绑定操作。这样就可以在DaoCloud平台上同步GitHub上的项目。

在DaoCloud平台上创建新项目。从Github平台获取上传的项目镜像,选择创建新项目,触发方式选择手动触发master。

项目创建成功后开始部署应用。部署应用选择通过镜像部署,找到该项目镜像。接着填写项目应用名称、端口号等。信息填写完毕,点击开始部署应用。

项目数据存储于MySQL数据库,因此需要在DaoCloud平台上创建一个MySQL镜像,该镜像于平台精选镜像内可找到,MySQL通过一键部署的方式成功部署。

项目所有数据可直接迁移至DaoCloud部署的数据库,即能利用云上数据库存储项目数据。

通过主机的IP信息以及容器映射到主机上的端口就能访问到部署成功的应用,并能正常地操作使用自己部署的应用。

3 运行分析

以Spring Boot为技术核心的项目,在实现项目部署过程中,首先考虑到如何才能使项目适配Docker容器,成为一个Docker镜像,在项目中添加了Docker的插件之后,利用虚拟机对项目进行镜像处理即插件的配置以及Dockerfile的生成。通过在DaoCloud平台上绑定GitHub账号,实现DaoCloud与Github关联,把项目成功存到镜像库。在DaoCloud Services平台上创建了个人项目镜像并成功发布之后,可以利用DaoCloud Developer部署应用对项目进行测试。部署 MySQL数据库来支持项目数据的存储,项目成功被部署到DaoCloud平台后,利用项目自定义好的映射端口以及云主机IP,就能访问部署的项目。部署工程的项目可以支持传统服务器发布项目的所有操作,并且更加高效、灵活。

4 总结

本次设计主要是实现基于DaoCloud部署个人Spring Boot项目应用。项目利用数据库MySQL进行底层数据存储。基础在于将项目应用转换为镜像,为实现容器化部署做准备,最终可以实现一份镜像,多份部署。利用DaoCloud对云原生应用的支持特性,可以实现自动化地持续集成,并且秒级启动与停止应用。对比传统的应用部署方式具有快速、便捷、高效的特点,在实际开发与应用中具有很大的使用价值。相信容器化的部署方式,在不久的将来会被人们越来越广泛地采用。

猜你喜欢

镜像开发者容器
容器倒置后压力压强如何变
镜像
难以置信的事情
镜像
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
取米
镜像