优势:
使用Google的jib节点不需要准备docker环境
不用编写dockerfile
使用:
博主这里的环境是
docker服务器:192.168.247.130
harbor私服:192.168.247.131
在springboot项目(先检查自己的springboot项目是否可以打包部署)pom中增加jib插件配置
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<from>
<!-- 使用私库-->
<image>192.168.247.131:5000/my-harbor/openjdk:8-alpine3.9</image>
<!-- 远程仓库的账号密码-->
<auth>
<username>admin</username>
<password>admin</password>
</auth>
</from>
<to>
<!--我这里${project.build.finalName}就叫jib-maven-plugin,所以推送到私服上的镜像名叫jib-maven-plugin-->
<image>192.168.247.131:5000/my-harbor/${project.build.finalName}:${project.version}</image>
<auth>
<username>admin</username>
<password>admin</password>
</auth>
</to>
<container>
<!--配置jvm虚拟机参数-->
<jvmFlags>
<jvmFlag>-Xms512m</jvmFlag>
</jvmFlags>
<!--配置使用的时区-->
<environment>
<TZ>Asia/Shanghai</TZ>
</environment>
<!--要暴露的端口(springboot项目配置的端口)-->
<ports>
<port>8092</port>
</ports>
</container>
<!-- 可以使用http访问-->
<allowInsecureRegistries>true</allowInsecureRegistries>
</configuration>
<!-- 把jib的build和mvn的package绑定,mvn package的时候自动构建镜像push到远程仓库去-->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>
<!-- dockerBuild:将镜像保存到本地docker镜像仓库(本地安装了docker)
build:推送到远程仓库
buildTar:生成压缩包 -->
build
</goal>
</goals>
</execution>
</executions>
</plugin>
在控制台中打包
#-DsendCredentialsOverHttp=true使用http的方式
mvn clean package -DsendCredentialsOverHttp=true
进入harbor私服查看镜像有没有push上去
在docker中拉取镜像
docker pull 192.168.247.131:5000/my-harbor/jib-maven-plugin:1.0-SNAPSHOT
启动镜像
docker run -itd --name jib-maven-plugin -p 8092:8092 192.168.247.131:5000/my-harbor/jib-maven-plugin:1.0-SNAPSHOT
访问自己的接口