美文网首页
maven构建项目并提交镜像到dockerhub

maven构建项目并提交镜像到dockerhub

作者: 王滕辉 | 来源:发表于2022-05-26 15:13 被阅读0次
    1. 首先在maven的settings.xml 文件中找到servers添加一个server
      这里的用户名密码对应的你的用户名密码,id谁便写 没有本地的私服可以用DockerHub的
        <server>
          <id>docker-hub</id>
          <username>user</username>
          <password>pass</password>
          <configuration>
            <email>514840279@qq.com</email>
          </configuration>
        </server>
    
    1. 接着创建项目修改pom

    2. 然后在properties 中填写
      docker.host 为你服务器上的docker环境机器的docker服务地址,
      docker.repository 是你私服的地址,dockerhub的不用

    3. plugins中添加 docker-maven-plugin

    pom.xml

    <properties>
    ...
            <docker.host>http://192.168.0.103:2375</docker.host>
            <docker.repository>192.168.0.103:5000</docker.repository>
    </properties>
    ...
    ...
          <build>
            <finalName>${project.name}</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <!-- 添加docker-maven插件 -->
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <executions>
                          <execution>
                            <id>default</id>
                            <phase>package</phase>   <!--绑定mvn的哪个命令-->
                            <goals>
                                <goal>build</goal>  <!--要执行的命令 -->
                                <goal>push</goal>
                           </goals>
                         </execution>
                    </executions>
                    <configuration>
                        <!-- docker.host就是docker服务的地址 是你的docker环境的地址文件会在这里进行构建镜像 -->
                        <dockerHost>${docker.host}</dockerHost>
                            <!-- 这个id是maven中对应的serverid -->
                        <serverId>docker-hub</serverId>
                        <!-- docker.repository就是私服的地址 ${docker.repository}/ 如果你上传到dockerHub是不需要写 ${docker.repository}/ -->
                        <imageName>${docker.repository}/514840279/${project.artifactId}:1.0</imageName>
                        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                        <forceTags>true</forceTags>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    最后执行下 mvn install 就可以打包jar 并打包docker 的镜像然后发布到镜像的中心

    相关文章

      网友评论

          本文标题:maven构建项目并提交镜像到dockerhub

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