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

  

这里主要用到spring-boot开箱即用,能生成一个独立运行的程序,及maven的插件docker-maven-plugin

  

这里主要步骤

  
      <李>构建一个简单的springboot项目李   <李>添加docker-maven-plugin及写dockerfile李   <李>实践生成码头工人镜像李   
  


  

  

2.0以弹簧引导为例
  

  

在pom.xml文件中增加祭台布依赖

        & 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>   之前      

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

        @RestController   公共类控制器{      @RequestMapping(“/?   公共字符串索引(){   返回“你好码头工人!”;   }   }   之前      

启动类         @SpringBootApplication   公共类应用程序{   公共静态void main (String [] args) {   SpringApplication.run (Application.class, args);   }   }   之前      

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

  


  

  

在pom.xml的属性节点中添加码头工人镜像前缀

        & 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; 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.finalNmae} .jar   & lt;/resource>   & lt;/resources>   & lt;/configuration>   & lt;/plugin>   & 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”)   揭露8080年      

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

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


  

  

需要有一个码头工人环境来打包弹簧启动项目。
  

  

需要三个依赖

  
      <李> jdk环境李   <李> maven李   <李>码头工人环境李   
  

运行<代码> java - version, mvn - version,码头工人版本这些命令不报错就是环境准备好了。

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