mall商城之mvn构建镜像-3

一、安装maven

#部署maven
yum install maven -y

#修改mvn配置源为阿里源配置
【地址】https://developer.aliyun.com/mvn/guide
[root@k8s-master-01 ~]# vim /etc/maven/settings.xml
159行加入
     -->
##################加入内容##
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>
####################加入内容##
  </mirrors>
  <!-- profiles

二、配置mvn的pom.xml

1、http模式配置mvn
打开pom.xml中使用docker插件的注释:

修改前
[root@k8s-node-04 mall-swarm]# vim /opt/mall-swarm-master/pom.xml
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
        <docker.host>unix:///var/run/docker.sock</docker.host>

修改后
#改为自己harbor地址;
[root@k8s-node-04 mall-swarm]# vim /opt/mall-swarm/pom.xml 
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <skipTests>true</skipTests>
         <!--改为你自己的Docker服务远程访问地址-->
        <docker.host>http://192.168.4.120:2375</docker.host>
        <docker.maven.plugin.version>1.2.2</docker.maven.plugin.version>
        <pagehelper-starter.version>1.3.0</pagehelper-starter.version>
#修改生成镜像名称
[root@k8s-node-04 mall-swarm]# vim /opt/mall-swarm-master/pom.xml
   </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${docker.maven.plugin.version}</version>
                    <!--<executions>-->
                        <!--<execution>-->
                            <!--<id>build-image</id>-->
                            <!--<phase>package</phase>-->
                            <!--<goals>-->
                                <!--<goal>build</goal>-->
                            <!--</goals>-->
                        <!--</execution>-->
                    <!--</executions>-->
                    <configuration>
                        <imageName>192.168.4.119/mall/${project.artifactId}:${project.version}</imageName>
                        <dockerHost>${docker.host}</dockerHost>
                        <baseImage>java:8</baseImage>
                        <entryPoint>["java", "-jar", "-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]</entryPoint>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
2、配置支持https模式mvn
[root@localhost ~]# vim /opt/mall-swarm-master/pom.xml
#修改为仓库地址
        <docker.host>https://192.168.4.120:2376</docker.host>
        <docker.maven.plugin.version>1.2.2</docker.maven.plugin.version>
        <java.version>1.8</java.version>
#总体修改内容
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${docker.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>build-image</id>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <imageName>192.168.4.120/mall/${project.artifactId}:${project.version}</imageName>
                        <dockerHost>${docker.host}</dockerHost>
                        <baseImage>java:8</baseImage>
                        <entryPoint>["java", "-jar", "-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]</entryPoint>
                        <dockerCertPath>/etc/docker/</dockerCertPath>
                        <resources>
                            <resource>
                                <targetPath>/</targetPath>
                                <directory>${project.build.directory}</directory>
                                <include>${project.build.finalName}.jar</include>
                            </resource>
                        </resources>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

修改内容:

#放开镜像打包模块
                    <executions>
                        <execution>
                            <id>build-image</id>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                            </goals>
                        </execution>
                    </executions>
#修改为harbor仓库上传地址,并且在harbor创建仓库mall
                        <imageName>192.168.4.114/mall/${project.artifactId}:${pr
#加入证书路径
                        <dockerCertPath>/etc/docker/</dockerCertPath>

三、构建镜像

#部署Java环境,版本是8还是11取决pom.xml中Java环境是那个版本
yum install java-1.8.0-openjdk -y
#构建推送镜像
[root@k8s ~]# cd /opt/mall-swarm-master/
[root@localhost mall-swarm-master]# mvn clean package docker:build
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] mall-swarm ........................................ SUCCESS [1.262s]
[INFO] mall-common ....................................... SUCCESS [5.038s]
[INFO] mall-mbg .......................................... SUCCESS [9.342s]
[INFO] mall-demo ......................................... SUCCESS [31.809s]
[INFO] mall-admin ........................................ SUCCESS [26.244s]
[INFO] mall-search ....................................... SUCCESS [49.974s]
[INFO] mall-portal ....................................... SUCCESS [30.307s]
[INFO] mall-monitor ...................................... SUCCESS [27.323s]
[INFO] mall-gateway ...................................... SUCCESS [27.912s]
[INFO] mall-auth ......................................... SUCCESS [26.214s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:56.526s
[INFO] Finished at: Wed May 04 23:03:38 EDT 2022
[INFO] Final Memory: 134M/1139M
[INFO] ------------------------------------------------------------------------
#生成镜像
[root@localhost mall-swarm-master]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
192.168.4.120/mall/mall-auth      1.0-SNAPSHOT        71b35cb71f54        2 minutes ago       699MB
192.168.4.120/mall/mall-gateway   1.0-SNAPSHOT        d7690511acad        3 minutes ago       708MB
192.168.4.120/mall/mall-monitor   1.0-SNAPSHOT        7965343dba13        4 minutes ago       696MB
192.168.4.120/mall/mall-portal    1.0-SNAPSHOT        dd9ef24bb777        4 minutes ago       719MB
192.168.4.120/mall/mall-search    1.0-SNAPSHOT        e3422ea6e878        5 minutes ago       734MB
192.168.4.120/mall/mall-admin     1.0-SNAPSHOT        3cd2f6dc5d88        6 minutes ago       715MB
192.168.4.120/mall/mall-demo      1.0-SNAPSHOT        fb3435585630        7 minutes ago       713MB
192.168.4.120/mall/mall-mbg       1.0-SNAPSHOT        48e4e344d3a2        8 minutes ago       644MB
192.168.4.120/mall/mall-common    1.0-SNAPSHOT        a0f66a09fcbd        9 minutes ago       643MB

四、镜像上传harbor仓库

harbor创建对应仓库目录(微服务)mall

##打包成新的镜像名称
#dockker tag 192.168.4.120/mall/旧镜像名:版本 #192.168.4.120/mall/新镜像名:版本
#上传
#dockr push 192.168.4.120/mall/新镜像名:版本
docker push 192.168.4.120/mall/mall-auth:1.0-SNAPSHOT      
docker push 192.168.4.120/mall/mall-gateway:1.0-SNAPSHOT      
docker push 192.168.4.120/mall/mall-monitor:1.0-SNAPSHOT       
docker push 192.168.4.120/mall/mall-portal:1.0-SNAPSHOT        
docker push 192.168.4.120/mall/mall-search:1.0-SNAPSHOT        
docker push 192.168.4.120/mall/mall-admin:1.0-SNAPSHOT        
docker push 192.168.4.120/mall/mall-demo:1.0-SNAPSHOT        
docker push 192.168.4.120/mall/mall-mbg:1.0-SNAPSHOT       
docker push 192.168.4.120/mall/mall-common:1.0-SNAPSHOT        

猜你喜欢

转载自blog.csdn.net/qq_39826987/article/details/130092094