准备工作

  1. 一个springboot项目,并提供一个可访问接口
    在这里插入图片描述
  2. 安装镜像私服Harbor
  3. jib插件开源地址

集成步骤

  1. 推送JDK8基础镜像至私服
# 拉取镜像
docker pull openjdk:8-jdk-alpine
# 私服标签
docker tag openjdk:8-jdk-alpine  192.168.58.173/library/openjdk:8-jdk-alpine
# 推送至私服
docker push 192.168.58.173/library/openjdk:8-jdk-alpine

在这里插入图片描述
2. pom文件添加jib插件

    <build>
            <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>2.3.0</version>
                <configuration>
                    <!--基础镜像,来自dockerhub,如果是私服,需要加上鉴权信息,和to下的auth节点相同-->
                    <from>
                        <image>192.168.58.173/library/openjdk:8-jdk-alpine</image>
                        <auth>
                            <username>admin</username>
                            <password>Harbor12345</password>
                        </auth>
                    </from>
                    <!--容器相关设置-->
                    <container>
                        <!--创建时间-->
                        <creationTime>${maven.build.timestamp}</creationTime>
                        <!--放置应用程序内容的容器上的根目录-->
                        <appRoot>/deploy/service/${project.artifactId}</appRoot>
                        <!--容器在运行时公开的端口-->
                        <ports>8080</ports>
                        <!--容器中的工作目录-->
                        <workingDirectory>/deploy/service/${project.artifactId}</workingDirectory>
                    </container>
                    <!--构建后的镜像名称以及私服地址、鉴权信息-->
                    <to>
                        <image>192.168.58.173/library/${project.name}:${project.version}</image>
                        <auth>
                            <username>admin</username>
                            <password>Harbor12345</password>
                        </auth>
                    </to>
                    <!--允许非https-->
                    <allowInsecureRegistries>true</allowInsecureRegistries>
                </configuration>
                <!--将jib与mvn构建的生命周期绑定 mvn package自动构造镜像-->
                <!--打包及推送命令 mvn  -DsendCredentialsOverHttp=true clean package-->
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                            </goals>
                        </execution>
                    </executions>
            </plugin>
        </plugins>
    </build>
  1. 输入命令推送镜像
# maven命令
mvn  -DsendCredentialsOverHttp=true clean package

在这里插入图片描述

  1. 查看Harbor,推动成功
    在这里插入图片描述
  2. 运行上传的镜像
# 运行
docker run -it --name my-demo -p 8888:8080 192.168.58.173/library/demo-kubenetes:1.1.10 

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐