使用jib-maven-plugin将Spring Boot项目发布为Docker镜像

简介: 使用jib-maven-plugin将Spring Boot项目发布为Docker镜像

介绍
将spring boot(cloud)项目发布到docker环境作为镜像,一般常用的一个是com.spotify的docker-maven-plugin这个maven插件,还有一个就是本文介绍的了,本文介绍的jib-maven-plugin是谷歌提供的,且配置较为简单(相对的镜像自定义能力较弱)。

使用
增加如下配置即可:

        <finalName>${artifactId}</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.google.cloud.tools</groupId>
                    <artifactId>jib-maven-plugin</artifactId>
                    <version>2.1.0</version>
                    <configuration>
                        <!--配置基本镜像,这里可以修改为自己的镜像,或精简或修改,但是一定要在私有库中有-->
                        <from>
                            <image>java:8</image>
                        </from>
                        <!--配置最终推送的地址,仓库名,镜像名-->
                        <to>
                            <tags>
                                <!--tag即镜像的版本,一般是覆盖latest并且新增一个当前版本号-->
                                <tag>latest</tag>
                                <tag>${version}</tag>
                            </tags>
                            <!--配置私有仓库地址-->
                            <image>10.10.2.62:5000/v2/${project.build.finalName}</image>
                        </to>
                        <allowInsecureRegistries>true</allowInsecureRegistries>
                        <container>
                            <!--jvm内存参数,jvm启动时的所有参数都可以在这里增加-->
                            <jvmFlags>
                                <jvmFlag>-Xms512m</jvmFlag>
                                <jvmFlag>-Xmx512m</jvmFlag>
                                <jvmFlag>-Duser.timezone=GMT+08</jvmFlag>
                                <jvmFlag>-Dfile.encoding=UTF8</jvmFlag>
                            </jvmFlags>
                            <!--要暴露的端口-->
                            <ports>
                                <port>8761</port>
                            </ports>
                            <!--修改镜像默认时间,否则会导致镜像内时区问题-->
                            <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
                        </container>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
相关文章
|
10天前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
25 1
Spring MVC——项目创建和建立请求连接
|
10天前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
50 1
Maven——创建 Spring Boot项目
|
13天前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
15 1
如何使用 maven 创建一个 Spring Boot项目
|
2天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
46 2
|
10天前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
SpringBoot中maven项目打包时出现的问题
SpringBoot中maven项目打包时出现的问题
SpringBoot中maven项目打包时出现的问题
SpringBoot中maven项目打包时出现的问题
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project demo: Fatal error compiling
SpringBoot中maven项目打包时出现的问题
|
12天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
84 1
|
2月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
108 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
2月前
|
前端开发 JavaScript Java
SpringBoot项目部署打包好的React、Vue项目刷新报错404
本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
148 1