这篇“如何使用Docker部署Spring Boot”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Docker部署Spring Boot”文章吧。
一个简单 spring boot 项目
以spring boot 2.0 为例
在pom.xml文件中增加parament依赖
<parent>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-parent</artifactid>
<version>2.0.0.release</version>
</parent>
增加web和测试依赖
<dependencies>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-web</artifactid>
</dependency>
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-test</artifactid>
<scope>test</scope>
</dependency>
</dependencies>
创建一个 controller,在其中有一个index()方法,访问时返回:hello docker!
@restcontroller
public class controller {
@requestmapping("/")
public string index() {
return "hello docker!";
}
}
启动类
@springbootapplication
public class application {
public static void main(string[] args) {
springapplication.run(application.class, args);
}
}
添加完毕后启动项目,启动成功后浏览器放问:http://localhost:8080/,页面返回:hello docker!,说明 spring boot 项目配置正常。
添加dcoker-maven-plugin
在pom.xml的properties节点中添加docker镜像前缀
<properties>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
在plugins中添加docker构建插件
<build>
<plugins>
<plugin>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-maven-plugin</artifactid>
</plugin>
<plugin>
<groupid>com.spotify</groupid>
<artifactid>docker-maven-plugin</artifactid>
<version>1.0.0</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.finalnmae}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
编写dockerfile
在目录src/main/docker下创建 dockerfile 文件,dockerfile 文件用来说明如何来构建镜像。
from openjdk:8-jdk-alpine
volume /tmp
add spring-boot-docker-1.0.jar app.jar
entrypoint ["java","-djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
expose 8080
这个 dockerfile 文件很简单,构建 jdk 基础环境,添加 spring boot jar 到镜像中,简单的说明一下:
from ,表示使用 jdk8 环境 为基础镜像,如果镜像不是本地的会从 dockerhub 进行下载
volume ,volume 指向了一个/tmp的目录,由于 spring boot 使用内置的tomcat容器,tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
add ,拷贝文件并且重命名
entrypoint ,为了缩短 tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 entrypoint
expose 指明8080端口提供服务
生成docekr镜像
需要有一个 docker 环境来打包 spring boot 项目。
需要三个依赖
jdk环境
maven
docker环境
运行java -version,mvn -version,docker version
这些命令不报错就是环境准备好了。
进入项目目录
mvn package -dmavne.test.skip=true
java -jar target/spring-boot-docker-1.0.jar
能正常运行,说明jar包没问题。
然后构建镜像
mvn docker:build
显示build success就成功。
使用docker images来查看构建好的镜像
运行镜像
docker run -p 8080:8080 -t springboot/spring-boot-docker
然后curl http://127.0.0.1:8080可以看到返回hello docker!,说明成功
以上就是关于“如何使用Docker部署Spring Boot”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4601002/blog/4466893