“ 本篇就开始操作怎么部署一个SpringBoot项目到Docker中,Docker实现SpringBoot项目的部署。”
首先构建一个SpingBoot项目。
进入 http://start.spring.io,使用Maven的方式快速构建一个springboot工程
创建一个HelloWorldController用于接收请求与返回响应
@RequestMapping(value = "hello")@RestControllerpublic class HelloWorldController { @RequestMapping(value = "/{msg}") public String hello(@PathVariable String msg){ return "Hello:\t"+msg; }}
启动SpringBoot工程,发送请求 'http://localhost:8080/hello/CainGao',查看返回结果
当前工程构建完成。在 pom.xml 中添加docker支持 镜像名称
<properties> <docker.image.prefix>springboot</docker.image.prefix></properties>
添加插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins></build>
创建Dockerfile
FROM openjdk:11VOLUME /tmpADD demo-0.0.1-SNAPSHOT.jar /demo.jarENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/demo.jar"]
FROM: 代表IMAGE的父镜像
VALUME: 挂载本地的路径
ADD: 为镜像添加的内容
ENTRYPOINT: 执行的脚本命令
把Dockerfile 与jar包放到同一路径下,执行命令 docker build -t helloworld .
执行完成后查看本地镜像列表
现在即可直接使用命令 docker run -d -p 8080:8080 helloworld 启动容器。
访问 http://localhost:8080/hello/CainGao
当然,还有更加简单的方式进行容器的部署。直接通过maven插件的方式来进行,本次其实我们是没有使用的。因为需要Docker开启远程访问。
当前我们使用的windows的docker desktop版,右键打开Settings-->General-->勾选 Expose daemon on tcp://localhost:2375 without TLS,勾选后Docker会直接进行重启加载。
访问 http://localhost:2375/info 查看是否启动成功.
此刻应该大家都实现了直接基于该Dockerfile与maven的方式部署SpringBoot应用到Docker中。
关注公众号,回复大数据相关关键词获取相关视频教程,如elasticsearch,即可获取! 公众号搜索:<指尖数虫>
网友评论