准备工作
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