1. 安装jib插件
buildscript {
repositories {
mavenLocal()
maven {
url 'https://repo.huaweicloud.com/repository/maven/'
}
}
dependencies {
classpath('com.google.cloud.tools:jib-layer-filter-extension-gradle:0.1.0')
}
}
plugins {
id 'java'
id 'java-library' // api implementation
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'org.springframework.boot' version '2.6.3'
id 'com.google.cloud.tools.jib' version '3.2.0' apply false
}
在需要打包镜像的项目应用插件
jib {
pluginExtensions {
pluginExtension {
implementation = 'com.google.cloud.tools.jib.gradle.extension.layerfilter.JibLayerFilterExtension'
configuration {
filters {
filter {
glob = '/app/libs/spring-*.jar'
toLayer = 'spring'
}
filter {
glob = '/app/libs/netty-*.jar'
toLayer = 'netty'
}
filter {
glob = '/app/libs/sentinel-*.jar'
toLayer = 'sentinel'
}
filter {
glob = '/app/libs/nacos-*.jar'
toLayer = 'nacos'
}
filter {
glob = '/app/libs/*-plain.jar'
toLayer = 'plain'
}
}
}
}
}
from {
image = "openjdk@sha256:39818a12ae215ab9f9463b312696696b941b59598913041f575582e67bbb917d"
platforms {
platform {
architecture = 'amd64'
os = 'linux'
}
}
}
to {
image = "registry.cn-hangzhou.aliyuncs.com/f-boot/${project.name}"
tags = ["${rootProject.version}"]
}
container {
ports = ["8000"]
creationTime = ZonedDateTime.now().format(DateTimeFormatter.ISO_DATE_TIME)
}
}
执行打包命令
gradle jibDockerBuild
> Task :gateway:jibDockerBuild
Running extension: com.google.cloud.tools.jib.gradle.extension.layerfilter.JibLayerFilterExtension
Running Jib Layer Filter Extension
Containerizing application to Docker daemon as registry.cn-hangzhou.aliyuncs.com/f-boot/gateway, registry.cn-hangzhou.aliyuncs.com/f-boot/gateway:1.0.0...
Container entrypoint set to [java, -cp, /app/resources:/app/classes:/app/libs/*, com.f.GatewayApplication]
Built image to Docker daemon as registry.cn-hangzhou.aliyuncs.com/f-boot/gateway, registry.cn-hangzhou.aliyuncs.com/f-boot/gateway:1.0.0
Executing tasks:
[==============================] 100.0% complete
查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/f-boot/message-service 1.0.0 25ffab8435a9 About an hour ago 310MB
registry.cn-hangzhou.aliyuncs.com/f-boot/message-service latest 25ffab8435a9 About an hour ago 310MB
registry.cn-hangzhou.aliyuncs.com/f-boot/sys-service 1.0.0 4a7d54e1d122 About an hour ago 330MB
registry.cn-hangzhou.aliyuncs.com/f-boot/sys-service latest 4a7d54e1d122 About an hour ago 330MB
registry.cn-hangzhou.aliyuncs.com/f-boot/file-service 1.0.0 0df8ce1486c1 About an hour ago 314MB
registry.cn-hangzhou.aliyuncs.com/f-boot/file-service latest 0df8ce1486c1 About an hour ago 314MB
registry.cn-hangzhou.aliyuncs.com/f-boot/gateway 1.0.0 bffc69dc5bcc About an hour ago 320MB
registry.cn-hangzhou.aliyuncs.com/f-boot/gateway latest bffc69dc5bcc About an hour ago 320MB
查看项目