spring boot 应用发布到Harbor上

具体的harbor配置和docker配置可以查看前面几篇,也包含了我遇到的问题

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

原文地址:https://www.cnblogs.com/dalianpai/p/11811812.html