使用码头工人部署弹簧引导的应用示例

  

码头工人技术发展为微服务落地提供了更加便利的环境,使用码头工人部署弹簧引导其实非常简单,这篇文章我们就来简单学习下。

  

首先构建一个简单的弹簧启动项目,然后给项目添加码头工人支持,最后对项目进行部署。

  

<强>一个简单弹簧启动项目

  

在pom。xml中,使用弹簧启动2.0相关依赖

        & lt; parent>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-parent   & lt; version> 2.0.0.RELEASE   & lt;/parent>      

添加web和测试依赖

        & lt; dependencies>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-test   & lt; scope> test   & lt;/dependency>   & lt;/dependencies>      

创建一个DockerController,在其中有一个指数()方法,访问时返回:你好码头工人!

        @RestController   公开课DockerController {      @RequestMapping(“/?   公共字符串索引(){   返回“你好码头工人!”;   }   }      

启动类         @SpringBootApplication   公开课DockerApplication {      公共静态void main (String [] args) {   SpringApplication.run (DockerApplication.class, args);   }   }      之前      

添加完毕后启动项目,启动成功后浏览器放问:http://localhost: 8080/页面返回:你好码头工人!春天,说明引导项目配置正常。

  

<强>春季启动项目添加码头工人支持

  

在pom。xml-properties中添加码头工人镜像名称

        & lt; properties>   & lt; docker.image.prefix> springboot   & lt;/properties>      

插件中添加码头工人构建插件:

        & lt; build>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-maven-plugin   & lt;/plugin>   & lt; !码头工人maven插件——比;   & lt; plugin>   & lt; groupId> com.spotify   & lt; artifactId> docker-maven-plugin   & lt; version> 1.0.0   & lt; configuration>   & lt; imageName> $ {docker.image.prefix}/{project.artifactId} & lt;美元/imageName>   & lt; dockerDirectory> src/main/docker   & lt; resources>   & lt; resource>   & lt; targetPath>/& lt;/targetPath>   & lt; directory> $ {project.build.directory} & lt;/directory>   & lt; include> $ {project.build.finalName} .jar   & lt;/resource>   & lt;/resources>   & lt;/configuration>   & lt;/plugin>   & lt; !码头工人maven插件——比;   & lt;/plugins>   & lt;/build>      

在目录src/main/码头工人下创建Dockerfile文件,Dockerfile文件用来说明如何来构建镜像。

        从openjdk: 8-jdk-alpine   体积/tmp   添加spring -引导-码头工人- 1.0。jar app.jar   入口点(“java”、“-Djava.security.egd=文件:/dev/?urandom”,“瓶”,“/app.jar”      

这个Dockerfile文件很简单,构建Jdk基础环境,添加弹簧引导Jar到镜像中,简单解释一下:

  
      <李>,表示使用Jdk8环境为基础镜像,如果镜像不是本地的会从DockerHub进行下载李   <李>体积,体积指向了一个/tmp的目录,由于弹簧引导使用内置的Tomcat容器,Tomcat默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录   <李>添加、拷贝文件并且重命名李   <李>入口点,为了缩短Tomcat的启动时间,添加java.security。还的系统属性指向/dev/urandom作为入口点李   
  

这样弹簧启动项目添加码头工人依赖就完成了。

  

<>强构建打包环境

  

我们需要有一个码头工人环境来打包弹簧启动项目,在Windows搭建码头工人环境很麻烦,因此我这里以Centos 7为例。

  

<>强安装码头工人环境

  

安装         yum安装码头工人

使用码头工人部署弹簧引导的应用示例