2020-09-14 22:53:09
本文介绍三种技术,通过 Maven 将 SpringBoot 应用构建成 Docker 镜像。为了实践,首先需要一个 Spring Boot 项目。
项目地址:github.com/davelms/medi...
项目环境:使用 mvn package 可以正常构建 jar 包,也可以正常运行,测试页面为 localhost:8080/hello。
接下来,开始实践构建镜像的三种方法。
Spring Boot 预装了自己的用于构建 Docker 镜像的插件,无需任何更改。只需要简单的执行 mvn build-image 即可,无需写 Dockerfile,一切由 plugin 自动处理。完成构建后,可直接运行容器进行测试。
jib-maven-plugin 是一个用于创建 Docker 镜像的 Maven 插件。无需本地安装 Docker,可直接推送到指定的 Docker 仓库。使用也非常简单,无需修改代码或 pom.xml。执行 mvn jib:dockerBuild 即可完成镜像构建与容器启动。
dockerfile-maven-plugin 需要编写 Dockerfile,但项目中已提供。Dockerfile 需放在项目根目录下,与 pom.xml 相同。在 pom.xml 中添加配置指定仓库、tag 标签和 JAR_FILE。执行 mvn package 时,自动构建镜像。完成构建后,可运行容器进行测试。
总结:
SpringBoot 原生的 build-image 方式最简便,无需额外操作。Jib 插件具有明显优势,无需本地安装 Docker,直接推送到指定仓库,操作简单。dockerfile-maven-plugin 需要编写 Dockerfile,配置较多,但实际使用中,它是最佳选择,因为其他方式在特定网络环境下可能遇到问题。
欢迎关注公众号【风平浪静如码】,获取更多 Java 相关文章与学习资料。如认为文章有价值,请给予点赞与关注,持续关注我,获取更多更新。