使用jib-maven-plugin将Spring Boot项目发布为Docker镜像
介绍
将spring boot(cloud)项目发布到docker环境作为镜像,一般常用的一个是com.spotify的docker-maven-plugin这个maven插件,还有一个就是本文介绍的了,本文介绍的jib-maven-plugin是谷歌提供的,且配置较为简单(相对的镜像自定义能力较弱)。
使用
增加如下配置即可:
<build>
<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>
总结
这种方式比dockerFile简单,但是也不灵活,适合简单项目。
使用jib-maven-plugin将Spring Boot项目发布为Docker镜像的更多相关文章
- 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行
实操:将一个spring boot项目部署到docker容器里运行 实验需要的环境: 腾讯云+Ubuntu 16.04 x64+idea+插件docker integration+daocloud 第 ...
- 将Spring Boot项目运行在Docker上
将Spring Boot项目运行在Docker上 一.使用Dockerfile构建Docker镜像 1.1Dockerfile常用指令 1.1.1ADD复制文件 1.1.2ARG设置构建参数 1.1. ...
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...
- Spring Boot工程发布到Docker
先聊聊闲话 搞过企业级的application运维的同仁肯定深有感触,每个application的功能交叉错杂,数据交换就让人焦头烂额(当然这和顶层业务设计有关系), 几十个application发布 ...
- idea创建maven多模块Spring Boot项目
1, 创建父项目 1.1,file - new - project 1.2,选择maven,Create from archetype(有的说不选,有的没说,不过我建父项目的时候没有勾选) 1.3,根 ...
- Spring Boot 项目发布到 Tomcat 服务器
第 1 步:将这个 Spring Boot 项目的打包方式设置为 war.<packaging>war</packaging> SpringBoot 默认有内嵌的 tomcat ...
- 基于 KubeSphere CI/CD 将 Spring Boot 项目发布至 Kubernetes
本示例基于开源的 KubeSphere 容器平台 演示如何通过 GitHub 仓库中的 Jenkinsfile 来创建流水线,流水线共包括 8 个阶段,最终将一个 Hello World 页面部署到 ...
- Spring Boot 应用 发布到Docker
Spring Boot 应用 先把命令行切换到Maven项目的根目录 E:\gitCode\galaxyguardians 通过mvn clean package命令打包应用程序 ,在E:\gitCo ...
- idea新建maven多模块spring boot项目
1.新建一个maven多模块项目,比如这种结构: maven-demo |--demo-common |--demo-order |--demo-user 2.先新建一个maven项目,在maven项 ...
随机推荐
- Unity 3D里相机的平滑跟随(转)
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 public class ...
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.5)- 串行NOR Flash下载算法(IAR EWARM篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是IAR开发环境下i.MXRT的串行NOR Flash下载算法设计. 在i.MXRT硬件那些事系列之<在串行NOR Flash XI ...
- oracle 常用语句3
- oracle 函数 select sign(-3),sign(3), sign(0) from dual; select ceil(3.7) from dual; select floor(3.7 ...
- Spark性能调优九之常用算子调优
1.使用mapPartitions算子提高性能 mapPartition的优点:使用普通的map操作,假设一个partition中有1万条数据,那么function就要被执行1万次,但是使用mapPa ...
- Spark性能调优篇三之广播方式传输数据
广播大变量,重复用到的变量 原因见 https://www.jianshu.com/p/2c297b23ebda
- 工具-Git与GitHub-分支管理(99.5.2)
@ 目录 1.分支介绍 2.基本使用分支 1.查看分支 2.创建一个分支dev并切换到其上进行工作 3.在dev分支中变更已经追踪的文件,并进行提交 4. dev分支的工作完成,可以切换回master ...
- Spring框架之spring-web web源码完全解析
Spring框架之spring-web web源码完全解析 spring-web是Spring webMVC的基础,由http.remoting.web三部分组成,核心为web模块.http模块封装了 ...
- Centos7 根目录存储空间扩展方法
Centos7 根目录存储空间扩展方法 一.首先通过 df -hl 命令查看磁盘占用情况,其中根目录已经被占满,此时需要对其进行扩容 二.针对虚拟机环境的centos7系统根存储空间扩容,可利 ...
- GraduateDesign-初试APP编写(去除虚拟按键和禁止状态栏下拉)
为了毕设的要求,需要在Android系统上运行一个app来控制硬件,今天开始这个app的编写. 首先,我们的系统将只运行这个app,也就是我们不需要状态栏,虚拟按键等. 故这里将app设置为全屏模式. ...
- SpringBoot 2.X以上集成redis
在网上看到的教程和资料大多数都是2.X以下的版本.使用起来会出现各种问题,通过百度,最后终于弄好了. 2.x以上使用的是 spring-boot-starter-data-redis 2.x一下使用的 ...