美文网首页
使用maven打包springboot镜像到harbor

使用maven打包springboot镜像到harbor

作者: TechLogs | 来源:发表于2020-03-23 13:45 被阅读0次

    目前在用的镜像生成方式大致为四种(本方主要讲第三种)

    1. 命令行方式
    2. shell脚本方式
    3. maven插件方式
    4. jenkins方法
    • 在需要运行的maven模块根目录下创建Dockerfile文件
    FROM openjdk:8-jdk-alpine
    MAINTAINER xiaodx
    RUN addgroup -S spring && adduser -S spring -G spring
    USER spring:spring
    VOLUME /logs
    ARG JAR_FILE=target/cxs-yunying.jar
    COPY ${JAR_FILE} app.jar
    ENTRYPOINT ["java","-jar","/app.jar"]
    
    
    • 在需要运行的maven模块的pom.xml中增加以下两个maven插件
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    
    <!-- docker的maven插件,官网:https://github.com/spotify/docker‐maven‐plugin -->
    <!-- Dockerfile maven plugin -->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
        <version>1.4.10</version>
        <executions>
            <execution>
            <id>default</id>
            <goals>
                <!--如果package时不想用docker打包,就注释掉这个goal-->
                <goal>build</goal>
                <goal>push</goal>
            </goals>
            </execution>
        </executions>
        <configuration>
            <!-- harbor 仓库用户名及密码-->
            <username>xiaodx</username>
            <password>Dc123456</password>
            <repository>${docker.registry}/${docker.image.prefix}/${project.artifactId}</repository>
            <tag>${project.version}</tag>
            <buildArgs>
                <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
            </buildArgs>
        </configuration>
    </plugin>
    
    • 执行maven命令,自动生成镜像并上传至本地docker主机上(docker images 查看)
    mvn install -Dmaven.test.skip=true
    
    • 镜像上传到harbor中:在maven插件中运行下图插件,即可将此镜像上传到harbor


      image.png

    相关文章

      网友评论

          本文标题:使用maven打包springboot镜像到harbor

          本文链接:https://www.haomeiwen.com/subject/tmhwyhtx.html