如何把spring boot应用发布到Harbor

这篇文章主要介绍了如何把spring boot应用发布到Harbor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

settings.xml配置

<server>
   <id>docker-hub</id>
   <username>admin</username>
   <password>Harbor12345</password>
  </server>

pom.xml配置

</parent>
    <groupId>com.topcheer</groupId>
    <artifactId>docker</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>docker</name>
    <description>Demo project for Spring Boot</description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <docker.image.prefix>topcheer</docker.image.prefix>
    <docker.repostory>192.168.180.105:1180</docker.repostory>
  </properties>

  <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>

  <repositories>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
    </repository>
  </repositories>

   <build>
    <finalName>docker</finalName>
    <plugins>
      <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
      <!--加入下面两项配置-->
      <executions>
       <execution>
        <goals>
         <goal>repackage</goal>
        </goals>
       </execution>
      </executions>
      <configuration>
         <includeSystemScope>true</includeSystemScope>
      </configuration>
   </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.2.0</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>build</goal>
            </goals>
          </execution>
          <execution>
            <id>tag-image</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</image>
              <newName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</newName>
            </configuration>
          </execution>
          <execution>
            <id>push-image</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</imageName>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <serverId>docker-hub</serverId>
          <registryUrl>${docker.repostory}</registryUrl>
          <dockerHost>http://192.168.180.105:2375</dockerHost>
          <forceTags>true</forceTags>
          <pushImage>true</pushImage>
          <dockerDirectory>src/main/docker</dockerDirectory>
          <imageName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</imageName>
          <imageTags>
            <imageTag>1.0.2</imageTag>
          </imageTags>
          <resources>
            <rescource>
              <targetPath></targetPath>
              <directory>${project.build.directory}</directory>
              <include>${project.build.finalName}.jar</include>
            </rescource>
          </resources>
          <includeSystemScope>true</includeSystemScope>
        </configuration>
      </plugin>
    </plugins>
  </build>

运行命令

clean package docker:build -DpushImage -Dmaven.test.skip=true

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Docker私服仓库Harbor安装的步骤详解

    Harbor安装那里还是很简单,就是在Docker Login那里掉坑里去了,搞半天,写博客的时候,又重新安装了一遍 1.准备两台服务器 centos7 harbor 10.19.46.15 client 10.19.44.31 2.harbor需要安装docker和docker-composere,client只需要安装docker Docker安装 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-m

  • 在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云

    Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云. 本地开发 无论是编写云端运行的,还是编写本地运行的 Spring Boot 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个极其基础的样例<在 Web 页面打印 HelloWorld 的 Spring Boot >为例,通过启动内置的 Tomcat 容器,处理 HTT

  • Docker 搭建私有仓库(registry、harbor)

    为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的. 利用registry快速搭建 https://hub.docker.com/_/registry/ Run a local registry: Quick Version $ docker run -d -p 5000:5000 --restart always --name registry registry:2 Now, use it from within Docker: $ docker pull

  • 详解基于Harbor搭建Docker私有镜像仓库

    什么是 Harbor? 第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 Harbor 就是一个用于存储和分发 Docker 镜像的企业级Registry 服务器. 网上找到一个 Harbor 的架构图: Harbor 是 VMware 公司开源的企业级 DockerRegistry 项目,项目地址为 https://github.com/vmware/harbor.其目标是帮助用户迅速搭建一个企业级的 Docker registry 服务.它以 Docker 公司开源的 regist

  • Spring Boot应用配置常用相关视图解析器详解

    SpringBoot的自动装配装配了视图解析器了吗? 我们可以看到SpringBoot自动装配的WebMvcAutoConfiguration类中,装配了以下关于ViewResolver(视图解析器)的类.可以看到SpringBoot已经自动装配了InternalResourceViewResolver类,又是通过外部资源配置的方式来配置此视图解析器this.mvcProperties.getView().getPrefix(),所以我们可以在application.properties文件配置

  • 详解Guava Cache本地缓存在Spring Boot应用中的实践

    概述 在如今高并发的互联网应用中,缓存的地位举足轻重,对提升程序性能帮助不小.而 3.x开始的 Spring也引入了对 Cache的支持,那对于如今发展得如火如荼的 Spring Boot来说自然也是支持缓存特性的.当然 Spring Boot默认使用的是 SimpleCacheConfiguration,即使用 ConcurrentMapCacheManager 来实现的缓存.但本文将讲述如何将 Guava Cache缓存应用到 Spring Boot应用中. Guava Cache是一个全内

  • 使用dockercompose搭建springboot-mysql-nginx应用

    上篇使用docker构建spring-boot应用,是把编译好的jar包构建到镜像中. 这篇是把spring-boot连同数据库,做为一组docker服务运行起来. 这里只是把自己操作记录下来,完整运行的代码见"参考"中的引用1中的内容. (我修改mysql映射目录及获取远程ip的方法) 主要步骤: 搭建简单的springboot应用 应用添加docker下支持 编写dockercompose配置文件 实践运行 搭建简单的springboot应用 做一个web应用,统计访问该站点的ip

  • docker私库Harbor的架构与组件说明

    这篇文章来了解一下harbor架构的组成和运行时各个组件的使用方式. 架构 容器信息 [root@liumiao harbor]# docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------------------------------ harbor-adminse

  • 如何把spring boot应用发布到Harbor

    这篇文章主要介绍了如何把spring boot应用发布到Harbor,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 settings.xml配置 <server> <id>docker-hub</id> <username>admin</username> <password>Harbor12345</password> </server> pom.xml配置

  • Spring Boot 项目发布到 Tomcat 服务器的操作步骤

    第 1 步:将这个 Spring Boot 项目的打包方式设置为 war. <packaging>war</packaging> SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉. 即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写: <dependency> <groupId>org.s

  • 把spring boot项目发布tomcat容器(包含发布到tomcat6的方法)

    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成war包项目,首先需要在pom.xml文件中修改打包类型,将spring boot默认的<packaging>jar</packaging>修改为<packaging>war</packaging>形式: 2. 其次spring boot的web项目中内嵌tomca

  • Spring boot部署发布到linux的操作方法

    限制条件: The default script supports most Linux distributions and is tested on CentOS and Ubuntu. Other platforms, such as OS X and FreeBSD, will require the use of a custom embeddedLaunchScript. 当前文档适用于 CentOS and Ubuntu,其他平台需要定制脚本 1.部署发布 1.1 打包 maven打

  • Spring Boot Gradle发布war到tomcat的方法示例

    1. 确保你项目能编译通过,安装java jdk 环境填写环境变量 2. 添加SpringBootServletInitializer的子类重写configure 这点是很坑爹的,比如说发布PHP之类的,或者其他的,一般开发的跟发布的没什么东西不一样,spring非要加这个才行,我之前没加,就复制的war到tomcat webapps目录就不行 package contacts; import org.springframework.boot.SpringApplication; import

  • Spring Boot应用发布到Docker的实现

    Spring官网上有一篇Getting Start,介绍了如何使用Docker发布Spring Boot应用,算是比较详细了,不过有些细节没有提及到,而且官网的入门手册是英文版.这里重新整理记录一下,算是给英文不好的小伙伴一个参考,也给自己留个备忘. 准备 需要的工具以及运行环境: JDK 1.8 or later Maven 3.0 + 你喜欢的IDE或其他文本编辑器 创建工程 首先,你需要创建一个Spring Boot工程,Spring Tool Suite和IntelliJ IDEA都自带

  • Spring Boot ActiveMQ发布/订阅消息模式原理解析

    本文在<Spring Boot基于Active MQ实现整合JMS>的基础上,介绍如何使用ActiveMQ的发布/订阅消息模式.发布/订阅消息模式是消息发送者发送消息到主题(topic),而多个消息接收者监听这个主题:其中,消息发送者和接收者分别叫做发布者(publisher)和订阅者(subscriber),对于发布者来说,它和所有的订阅者就构成了一个1对多的关系.这种关系如下图所示: 发布/订阅模式的工作示意图 消息生产者将消息(发布)到topic中,可以同时有多个消息消费者(订阅)消费该

  • spring boot tomcat jdbc pool的属性绑定

    下面看下spring boot tomcat jdbc pool的属性绑定代码,具体代码如下所示: spring: datasource: type: org.apache.tomcat.jdbc.pool.DataSource driver-class-name: org.postgresql.Driver url: jdbc:postgresql://192.168.99.100:5432/postgres?connectTimeout=6000&socketTimeout=6000 use

  • 使用linux部署Spring Boot程序

    SpingBoot的学习总算告一段落了,但它还留给了我们一个疑问,那就是程序在linux服务器上应该怎么部署?使用命令启动程序后如果ssh断开了程序会不会被shutdown?对于第一个问题比较好解决,只需要保证jdk安装正确就不会有太大问题.棘手的问题是后面这个,解决问题的关键就是要保证程序以守护进程(后台方式)运行.这次就分享下linux下如何正确部署程序 为了解决这个问题,我查阅网上的资料找到了下面3种解决方案 1   把jar包弄成系统服务(不推荐) 这种方法缺点也比较明显,那就是容易出现

  • Spring Boot ActiveMQ连接池配置过程解析

    spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景.为了不踩这个坑,我们参考池化技术的思想,配置ActiveMQ连接池.在Spring Boot ActiveMQ发布/订阅消息模式原理解析的基础上配置ActiveMQ连接池,只需要做两项修改--配置文件和添加连接池依赖. 修改application.properties配置文件 ## URL of the ActiveMQ broker. Auto-gene

随机推荐