黑马程序员合肥中心编著【黑马程序员】SpringBoot应用Docker化概述当下web服务端开发中最火的名词中绝对有微服务的一席之地,其也成为当下互联网后端服务架构演进历程中最闪亮的技术之一。微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。既然服务被分割和微小化了,我们很容易想到如果将其和docker结合,让docker承载着一个个的微服务运行,如此一来将会让服务间耦合度降低,部署简洁,同时系统的架构也更加清晰,便于长期演进,基于此想法有了这篇文章的入门实践!创建基于maven的springbt项目pom.xml中加依赖:[AppleScript]纯文本查看复制代码?0102030405060708091011121314151617parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.0.0.RELEASE/version/parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope黑马程序员合肥中心编著181920/dependency/dependencies我们只需要在启动类中添加一个简单的restful接口就行了,为了后续浏览器能验证一下,访问/hello接口,能向浏览器返回一个HelloDocker!的问好![AppleScript]纯文本查看复制代码?010203040506070809101112@RestControllerpublicclassDockerDemoSpringApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DockerDemoSpringApplication.class,args);}@RequestMapping(/hello)publicStringhello(){returnHello!Docker!”;}}编写Dockerfile我们在SpringBt项目的根目录下建立Dockerfile,用起来完成Docker镜像构建的编排:[AppleScript]纯文本查看复制代码?黑马程序员合肥中心编著010203040506070809101112131415161718FROMmaven:3.3.3ADDpom.xml/tmp/build/RUNcd/tmp/build&&mvn-qdependency:resolveADDsrc/tmp/build/src#构建应用RUNcd/tmp/build&&mvn-q-DskipTests=truepackage\#拷贝编译结果到指定目录&&mvtarget/*.jar/app.jar\#清理编译痕迹&&cd/&&rm-rf/tmp/buildVOLUME/tmpEXPOSE8080ENTRYPOINT[java,-Djava.security.egd=file:/dev/./urandom,-jar,/app.jar”]进入Docker的世界在Spring项目根目录下根据Dockerfile来生成docker镜像[AppleScript]纯文本查看复制代码?1`dockerbuild-t黑马程序员合肥中心编著springindocker.`[align=left][color=#004000][backcolor=transparent][font=微软雅黑][size=14px]从刚创建的镜像来启动容器打开浏览器,或者使用curl访问就可以看到web服务器里返回的HelloDocker!!!问好的字符了至此就说明你成功将一个基于SpringBoot的应用Docker化了。