码头工人技术发展为微服务落地提供了更加便利的环境,使用码头工人部署弹簧引导其实非常简单,这篇文章我们就来简单学习下。
首先构建一个简单的弹簧启动项目,然后给项目添加码头工人支持,最后对项目进行部署。
<强>一个简单弹簧启动项目强>
在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安装码头工人使用码头工人部署弹簧引导的应用示例