包装 OCI 图像

该插件可以使用云原生构建包(CNB)从jar或war文件创建OCI镜像。 图像可以通过命令行构建构建映像目标。 这确保包生命周期在创建镜像之前已经运行。spring-doc.cadn.net.cn

出于安全考虑,镜像以非root用户身份构建和运行。 更多细节请参见CNB规范

最简单的入门方式是调用MVN Spring-boot:build-image在一个项目中。 只要相位被调用,如下例所示:spring-doc.cadn.net.cn

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
			<executions>
				<execution>
					<goals>
						<goal>build-image-no-fork</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>
构建-镜像-无分叉当目标绑定到包生命周期时。 这个目标类似于构建映像但不会分支生命周期以确保已经跑了。 在本节其余部分,构建映像用来指代构建映像构建-镜像-无分叉目标。
虽然构建包运行于可执行档案,但不必执行重新包装目标优先,因为如有需要,可执行档案会自动创建。 当构建映像重新打包应用程序,它应用的设置与重新包装目标是,也就是说,依赖关系可以通过排除选项之一被排除。 这Spring-boot-devtoolsSpring-boot-docker-compose模块默认会自动排除(你可以用exclusionDevtoolsexclusionDockerCompose性质)。

Docker 守护进程

构建映像目标需要访问 Docker 守护进程。 目标是检查本地 Docker CLI 配置文件以确定当前上下文,并利用上下文连接信息与 Docker 守护进程通信。 如果无法确定当前上下文或上下文没有连接信息,则目标将使用默认的本地连接。 这在所有支持的平台上的 Docker Engine 无需配置即可运行。spring-doc.cadn.net.cn

环境变量可以设置为配置构建映像目标是使用替代的本地或远程连接。 下表展示了环境变量及其值:spring-doc.cadn.net.cn

环境变量 描述

DOCKER_CONFIGspring-doc.cadn.net.cn

用于确定当前上下文的Docker CLI配置文件位置(默认为$HOME/.docker)spring-doc.cadn.net.cn

DOCKER_CONTEXTspring-doc.cadn.net.cn

应用于从 Docker CLI 配置文件中获取主机信息的上下文名称(覆盖DOCKER_HOST)spring-doc.cadn.net.cn

DOCKER_HOSTspring-doc.cadn.net.cn

包含 Docker 守护进程主机和端口的 URL - 例如。tcp://192.168.99.100:2376spring-doc.cadn.net.cn

DOCKER_TLS_VERIFYspring-doc.cadn.net.cn

当设置为 时启用安全HTTPS协议1(可选)spring-doc.cadn.net.cn

DOCKER_CERT_PATHspring-doc.cadn.net.cn

HTTPS的证书和密钥文件路径(如果需要DOCKER_TLS_VERIFY=1否则忽略)spring-doc.cadn.net.cn

Docker 守护进程连接信息也可以通过以下方式提供Jetty工人插件配置中的参数。 下表总结了可用参数:spring-doc.cadn.net.cn

参数 描述

上下文spring-doc.cadn.net.cn

应用于从 Docker CLI 配置文件中获取主机信息的上下文名称spring-doc.cadn.net.cn

主机spring-doc.cadn.net.cn

包含 Docker 守护进程主机和端口的 URL - 例如。tcp://192.168.99.100:2376spring-doc.cadn.net.cn

tlsVerify(转折点)spring-doc.cadn.net.cn

当设置为 时启用安全HTTPS协议true(可选)spring-doc.cadn.net.cn

certPathspring-doc.cadn.net.cn

HTTPS的证书和密钥文件路径(如果需要tlsVerify(转折点)true否则忽略)spring-doc.cadn.net.cn

bindHostToBuilderspring-doc.cadn.net.cn

什么时候true, 的值主机属性将提供给为CNB构建器创建的容器(可选)spring-doc.cadn.net.cn

更多细节,请参见示例spring-doc.cadn.net.cn

Docker 注册表

如果 Docker 镜像由架构工人runImage参数存储在需要认证的私有 Docker 映像注册表中,认证凭证可以通过以下方式提供docker.builderRegistry参数。spring-doc.cadn.net.cn

如果生成的 Docker 镜像要发布到 Docker 镜像注册表,认证凭证可以通过以下方式提供docker.publishRegistry参数。spring-doc.cadn.net.cn

为用户认证或身份Tokens认证提供了参数。 请参阅用于存储镜像的 Docker 注册表文档,了解更多支持的认证方法信息。spring-doc.cadn.net.cn

下表总结了可用参数docker.builderRegistrydocker.publishRegistry:spring-doc.cadn.net.cn

参数 描述

用户名spring-doc.cadn.net.cn

Docker 映像注册用户的用户名。用户认证必修。spring-doc.cadn.net.cn

密码spring-doc.cadn.net.cn

Docker 映像注册表用户的密码。用户认证必修。spring-doc.cadn.net.cn

网址spring-doc.cadn.net.cn

Docker 镜像注册表的地址。用户认证时可选。spring-doc.cadn.net.cn

电子邮件spring-doc.cadn.net.cn

Docker 映像注册表用户的电子邮件地址。用户认证时可选。spring-doc.cadn.net.cn

Tokensspring-doc.cadn.net.cn

为 Docker 映像注册表用户提供身份Tokens。Tokens认证必不可少。spring-doc.cadn.net.cn

更多细节,请参见示例spring-doc.cadn.net.cn

如果未提供凭证,插件会读取用户现有的 Docker 配置文件(通常位于$HOME/.docker/config.json)以确定认证方法。 通过这些方法,插件尝试为所请求的图像提供认证凭证。spring-doc.cadn.net.cn

该插件支持以下认证方法:spring-doc.cadn.net.cn

  • 凭证助手:在 Docker 配置文件中配置的外部工具,用于为特定注册库提供凭证。例如,像这样的工具osxkeychainECR-登录处理某些注册机构的身份验证。spring-doc.cadn.net.cn

  • 凭证存储:一种默认的备用机制,安全存储和检索凭证(例如,桌面适用于Docker Desktop)。spring-doc.cadn.net.cn

  • 静态凭据:直接存储在 Docker 配置文件中,下面是授权部分。spring-doc.cadn.net.cn

图像定制

该插件调用构建器来协调图像生成。 构建器包含多个构建包,可以检查应用程序以影响生成的图像。 默认情况下,插件会选择构建器镜像。 生成图像的名称是根据项目属性推导出来的。spring-doc.cadn.net.cn

图像参数允许构建者配置及其在项目中的作方式。 下表总结了可用参数及其默认值:spring-doc.cadn.net.cn

参数 / (用户属性) 描述 默认值

架构工人
(Spring-boot.build-image.builder)spring-doc.cadn.net.cn

使用建造器镜像的名称。spring-doc.cadn.net.cn

Paketobuildpacks/builder-noble-java-tiny:最新spring-doc.cadn.net.cn

信任构建器
(spring-boot.build-image.trustBuilder)spring-doc.cadn.net.cn

是否应该把建造商当作值得信赖的人。spring-doc.cadn.net.cn

true如果建造者是以下之一paketobuildpacks/builder-noble-java-tiny,Paketobuildpacks/builder-jammy-java-tiny,Paketobuildpacks/builder-jammy-tiny,Paketobuildpacks/builder-jammy-base,Paketobuildpacks/builder-jammy-full(满载者),Paketobuildpacks/builder-jammy-buildpackless-tiny,Paketobuildpacks/builder-jammy-buildpackless-base(无构建包),Paketobuildpacks/builder-jammy-buildpackless-full,gcr.io/buildpacks/builder,赫罗库/建造者; false否则。spring-doc.cadn.net.cn

imagePlatform
(spring-boot.build-image.imagePlatform)spring-doc.cadn.net.cn

任何被拉取的构建器、运行和构建包镜像的平台(作系统和架构)。 必须以 的形式出现作系统[/架构[/变体]]Linux/AMD 64,Linux/arm64Linux/ARM/V5. 请参阅所用构建器的文档,以确定可用的镜像作系统和架构选项。spring-doc.cadn.net.cn

没有默认值,表示应使用主机平台。spring-doc.cadn.net.cn

runImage
(spring-boot.build-image.runImage)spring-doc.cadn.net.cn

使用运行图像的名称。spring-doc.cadn.net.cn

不应使用构建器元数据中指定的运行镜像的默认值。spring-doc.cadn.net.cn

名称
(spring-boot.build-image.imageName)spring-doc.cadn.net.cn

生成图像的图像名称spring-doc.cadn.net.cn

docker.io/library/
${project.artifactId}:${project.version}spring-doc.cadn.net.cn

pullPolicy
(spring-boot.build-image.pullPolicy)spring-doc.cadn.net.cn

用来决定何时拉取构建器并从注册表运行映像的策略。 可接受的值为总是,从不IF_NOT_PRESENT.spring-doc.cadn.net.cn

总是spring-doc.cadn.net.cn

环境spring-doc.cadn.net.cn

应该传递给构建者的环境变量。spring-doc.cadn.net.cn

构建包spring-doc.cadn.net.cn

构建者在构建镜像时应该使用的构建包。 只会使用指定的构建包,覆盖构建者中包含的默认构建包。 构建包引用必须以以下形式之一进行:spring-doc.cadn.net.cn

没有,说明建造者应该使用其中的构建包。spring-doc.cadn.net.cn

绑定spring-doc.cadn.net.cn

绑定挂载应该挂载到构建器容器上,这样可以构建映像。 在创建构建容器时,绑定会未解析且未验证地传递给 Docker。 装订必须采用以下形式之一:spring-doc.cadn.net.cn

哪里<选项>可包含:spring-doc.cadn.net.cn

网络 + (spring-boot.build-image.network)spring-doc.cadn.net.cn

构建容器将被配置为使用的网络驱动。 在创建构建容器时,提供的值会在未验证的情况下传递给 Docker。spring-doc.cadn.net.cn

cleanCache + (spring-boot.build-image.cleanCache)spring-doc.cadn.net.cn

是否在建造前清理缓存。spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

verboseLogmingspring-doc.cadn.net.cn

支持对架构商作的详细记录。spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

发布 + (spring-boot.build-image.publish)spring-doc.cadn.net.cn

是否将生成的镜像发布到Docker注册表。spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

标签spring-doc.cadn.net.cn

添加一个或多个额外标签以应用到生成的图像上。 提供给标签选项应该是完整的图片参考。 详情请参见标签部分spring-doc.cadn.net.cn

buildWorkspacespring-doc.cadn.net.cn

一个临时工作区,供构建器和构建包在构建映像时存储文件。 该值可以是命名卷或绑定挂载位置。spring-doc.cadn.net.cn

Docker 守护进程中的一个命名卷,名称源自镜像名。spring-doc.cadn.net.cn

build缓存spring-doc.cadn.net.cn

一个包含由构建包创建并用于图像构建过程的图层的缓存。 该值可以是命名卷或绑定挂载位置。spring-doc.cadn.net.cn

Docker 守护进程中的一个命名卷,名称源自镜像名。spring-doc.cadn.net.cn

launchCachespring-doc.cadn.net.cn

一个包含由构建包创建并用于镜像启动过程的层的缓存。 该值可以是命名卷或绑定挂载位置。spring-doc.cadn.net.cn

Docker 守护进程中的一个命名卷,名称源自镜像名。spring-doc.cadn.net.cn

创建日期
(spring-boot.build-image.createdDate)spring-doc.cadn.net.cn

一个将用来设定创建生成图像元数据中的字段。 该值必须是ISO 8601即时格式中的字符串,或现在使用当前的日期和时间。spring-doc.cadn.net.cn

一个固定日期,以便构建可重复spring-doc.cadn.net.cn

applicationDirectory
(spring-boot.build-image.applicationDirectory)spring-doc.cadn.net.cn

构建器镜像中应用内容将上传到的目录路径。 应用内容也会出现在生成图像的这个位置。spring-doc.cadn.net.cn

/工作spring-doc.cadn.net.cn

安全选项spring-doc.cadn.net.cn

安全选项将应用到构建器容器,以字符串数组形式提供spring-doc.cadn.net.cn

[“label=disable”]在Linux和macOS上,在Windows上[]spring-doc.cadn.net.cn

插件通过编译器的插件配置或maven.compiler.target财产。 使用默认的 Paketo 构建器和构建包时,插件会指示构建包安装相同的 Java 版本。 你可以像构建器配置示例中所示覆盖这个行为。

更多细节,请参见示例spring-doc.cadn.net.cn

标签格式

提供给标签选项应该是完整的图片参考。 公认的格式为[domainHost:port/][path/]name[:tag][@digest].spring-doc.cadn.net.cn

如果域名缺失,则默认为docker.io. 如果路径缺失,则默认为图书馆. 如果缺少标签,则默认为最近的.spring-doc.cadn.net.cn

举几个例子:spring-doc.cadn.net.cn

Spring Boot:构建映像

org.springframework.boot:spring-boot-maven-plugin:4.0.0spring-doc.cadn.net.cn

用构建包将应用打包打包成 OCI 镜像,分叉生命周期以确保跑。 该目标适用于命令行调用。如果你需要配置目标执行在你的构建中,使用构建-镜像-无分叉相反。spring-doc.cadn.net.cn

所需参数

名称 类型 默认值

sourceDirectoryspring-doc.cadn.net.cn

文件spring-doc.cadn.net.cn

${project.build.directory}spring-doc.cadn.net.cn

可选参数

名称 类型 默认值

applicationDirectoryspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

分类spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

cleanCachespring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

创建日期spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

Jetty工人spring-doc.cadn.net.cn

Jetty工人spring-doc.cadn.net.cn

exclusionDevtoolsspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

exclusionDockerComposespring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

exclusionGroupIdsspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

排除spring-doc.cadn.net.cn

列表spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

imageBuilderspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

imageNamespring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

imagePlatformspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

includeOptionalspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

includeSystemScope(包括系统范围)spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

includeToolsspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

包括spring-doc.cadn.net.cn

列表spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

布局spring-doc.cadn.net.cn

布局类型spring-doc.cadn.net.cn

layout 工厂spring-doc.cadn.net.cn

布局工厂spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

网络spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

发布spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

pullPolicyspring-doc.cadn.net.cn

拉取政策spring-doc.cadn.net.cn

runImagespring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

信任构建器spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

参数细节

applicationDirectory

别名图片#applicationDirectory通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

applicationDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.applicationDirectoryspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

cleanCache

别名图片#清洁缓存通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

cleanCachespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.cleanCachespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.4.0spring-doc.cadn.net.cn

创建日期

别名图片#创建日期通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

创建日期spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.createdDatespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

exclusionDevtools

从重新打包的压缩包中排除 Spring Boot 开发工具。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionDevtoolsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.repackage.excludeDevtoolsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.3.0spring-doc.cadn.net.cn

exclusionDockerCompose

从重新打包的压缩包中排除 Spring Boot 开发服务。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionDockerComposespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.repackage.excludeDockerComposespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

exclusionGroupIds

逗号分隔的groupid名称列表,排除(完全匹配)。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionGroupIdsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludeGroupIdsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

排除

排除的工件定义集合。这排除元素定义了强制性组IDartifactId(遗物ID组件和可选分类元件。当配置为属性时,值应以逗号分隔,并用冒号分隔:groupId:artifactId,groupId:artifactId:分类器spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

排除spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.exclusionsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

图像

图像配置,且架构工人,runImage,名称,环境,cleanCache,verboseLogming,pullPolicy发布选项。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.Imagespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imageBuilder

别名图片#构建者通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imageBuilderspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

Spring-boot.build-image.builderspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imageName

别名图片#name通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imageNamespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.imageNamespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imagePlatform

别名图片#image平台通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imagePlatformspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.imagePlatformspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.4.0spring-doc.cadn.net.cn

includeSystemScope(包括系统范围)

包含系统范围依赖关系。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

includeSystemScope(包括系统范围)spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.4.0spring-doc.cadn.net.cn

包括

包含工件定义的集合。这包括元素定义了强制性组IDartifactId(遗物ID组件和可选分类元件。当配置为属性时,值应以逗号分隔,并用冒号分隔:groupId:artifactId,groupId:artifactId:分类器spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

包括spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

Spring靴。包括spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.2.0spring-doc.cadn.net.cn

图层配置,包含禁用图层创建、排除图层工具 jar 以及提供自定义图层配置文件的选项。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.图层spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

布局

归档类型(对应于其内部依赖的布局)。可能的值有,战争,ZIP,迪尔,没有.默认根据档案类型进行猜测。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

布局spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.AbstractPackagerMojo$LayoutTypespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.11spring-doc.cadn.net.cn

layout 工厂

如果没有设置显式布局,将用于创建可执行档案的布局工厂。第三方可以提供替代布局实现。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

layout 工厂spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.loader.tools.LayoutFactoryspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.11spring-doc.cadn.net.cn

mainClass

主类的名字。如果未指定,第一个编译的类发现包含主要将采用方法。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

网络

别名图片#网络通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

网络spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.networkspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.6.0spring-doc.cadn.net.cn

发布

别名图片#发布通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

发布spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.publishspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

runImage

别名图片#运行图片通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

runImagespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.runImagespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.1spring-doc.cadn.net.cn

sourceDirectory

包含源代码归档的目录。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

sourceDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

${project.build.directory}spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

信任构建器

别名图片#信任构建者通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

信任构建器spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.trustBuilderspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

spring-boot:build-image-no-fork

org.springframework.boot:spring-boot-maven-plugin:4.0.0spring-doc.cadn.net.cn

将应用打包成 OCI 镜像,使用构建包,但不分叉生命周期。该目标应在配置目标时使用执行在你的构建中。要在命令行调用目标,请使用构建映像相反。spring-doc.cadn.net.cn

所需参数

名称 类型 默认值

sourceDirectoryspring-doc.cadn.net.cn

文件spring-doc.cadn.net.cn

${project.build.directory}spring-doc.cadn.net.cn

可选参数

名称 类型 默认值

applicationDirectoryspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

分类spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

cleanCachespring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

创建日期spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

Jetty工人spring-doc.cadn.net.cn

Jetty工人spring-doc.cadn.net.cn

exclusionDevtoolsspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

exclusionDockerComposespring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

exclusionGroupIdsspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

排除spring-doc.cadn.net.cn

列表spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

imageBuilderspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

imageNamespring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

imagePlatformspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

includeOptionalspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

includeSystemScope(包括系统范围)spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

includeToolsspring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

包括spring-doc.cadn.net.cn

列表spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

布局spring-doc.cadn.net.cn

布局类型spring-doc.cadn.net.cn

layout 工厂spring-doc.cadn.net.cn

布局工厂spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

网络spring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

发布spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

pullPolicyspring-doc.cadn.net.cn

拉取政策spring-doc.cadn.net.cn

runImagespring-doc.cadn.net.cn

字符串spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

信任构建器spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

参数细节

applicationDirectory

别名图片#applicationDirectory通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

applicationDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.applicationDirectoryspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

cleanCache

别名图片#清洁缓存通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

cleanCachespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.cleanCachespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.4.0spring-doc.cadn.net.cn

创建日期

别名图片#创建日期通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

创建日期spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.createdDatespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

exclusionDevtools

从重新打包的压缩包中排除 Spring Boot 开发工具。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionDevtoolsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.repackage.excludeDevtoolsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.3.0spring-doc.cadn.net.cn

exclusionDockerCompose

从重新打包的压缩包中排除 Spring Boot 开发服务。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionDockerComposespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.repackage.excludeDockerComposespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.1.0spring-doc.cadn.net.cn

exclusionGroupIds

逗号分隔的groupid名称列表,排除(完全匹配)。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

exclusionGroupIdsspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.excludeGroupIdsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

排除

排除的工件定义集合。这排除元素定义了强制性组IDartifactId(遗物ID组件和可选分类元件。当配置为属性时,值应以逗号分隔,并用冒号分隔:groupId:artifactId,groupId:artifactId:分类器spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

排除spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.exclusionsspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.1.0spring-doc.cadn.net.cn

图像

图像配置,且架构工人,runImage,名称,环境,cleanCache,verboseLogming,pullPolicy发布选项。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

图像spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.Imagespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imageBuilder

别名图片#构建者通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imageBuilderspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

Spring-boot.build-image.builderspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imageName

别名图片#name通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imageNamespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.imageNamespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

imagePlatform

别名图片#image平台通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

imagePlatformspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.imagePlatformspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

3.4.0spring-doc.cadn.net.cn

includeSystemScope(包括系统范围)

包含系统范围依赖关系。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

includeSystemScope(包括系统范围)spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

布尔spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.4.0spring-doc.cadn.net.cn

包括

包含工件定义的集合。这包括元素定义了强制性组IDartifactId(遗物ID组件和可选分类元件。当配置为属性时,值应以逗号分隔,并用冒号分隔:groupId:artifactId,groupId:artifactId:分类器spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

包括spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.util.Listspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

Spring靴。包括spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.2.0spring-doc.cadn.net.cn

图层配置,包含禁用图层创建、排除图层工具 jar 以及提供自定义图层配置文件的选项。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.图层spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

布局

归档类型(对应于其内部依赖的布局)。可能的值有,战争,ZIP,迪尔,没有.默认根据档案类型进行猜测。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

布局spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.maven.AbstractPackagerMojo$LayoutTypespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.11spring-doc.cadn.net.cn

layout 工厂

如果没有设置显式布局,将用于创建可执行档案的布局工厂。第三方可以提供替代布局实现。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

layout 工厂spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

org.springframework.boot.loader.tools.LayoutFactoryspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.11spring-doc.cadn.net.cn

mainClass

主类的名字。如果未指定,第一个编译的类发现包含主要将采用方法。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

mainClassspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

1.0.0spring-doc.cadn.net.cn

网络

别名图片#网络通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

网络spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.networkspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.6.0spring-doc.cadn.net.cn

发布

别名图片#发布通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

发布spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.publishspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

runImage

别名图片#运行图片通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

runImagespring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.字符串spring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.runImagespring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.1spring-doc.cadn.net.cn

sourceDirectory

包含源代码归档的目录。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

sourceDirectoryspring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.io.filespring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

${project.build.directory}spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

2.3.0spring-doc.cadn.net.cn

信任构建器

别名图片#信任构建者通过命令行属性支持配置。spring-doc.cadn.net.cn

名称spring-doc.cadn.net.cn

信任构建器spring-doc.cadn.net.cn

类型spring-doc.cadn.net.cn

java.lang.Booleanspring-doc.cadn.net.cn

默认值spring-doc.cadn.net.cn

用户属性spring-doc.cadn.net.cn

spring-boot.build-image.trustBuilderspring-doc.cadn.net.cn

因为spring-doc.cadn.net.cn

例子

自定义图像构建器

如果你需要自定义用于创建镜像的构建器或用于启动构建镜像的运行镜像,请按照以下示例配置插件:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<builder>mine/java-cnb-builder</builder>
						<runImage>mine/java-cnb-run</runImage>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

该配置将使用带有名称的构建器镜像矿山/Java-CNB-构建器以及标签最近的,以及名为mine/java-cnb-run以及标签最近的.spring-doc.cadn.net.cn

构建器和运行镜像也可以在命令行中指定,如本例所示:spring-doc.cadn.net.cn

$ mvn spring-boot:build-image -Dspring-boot.build-image.builder=mine/java-cnb-builder -Dspring-boot.build-image.runImage=mine/java-cnb-run

建造者配置

如果构建者通过环境变量暴露配置选项,这些变量可以通过环境属性。spring-doc.cadn.net.cn

以下是 Paketo Java 构建包在构建时配置 JVM 版本的示例:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<env>
							<BP_JVM_VERSION>17</BP_JVM_VERSION>
						</env>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果构建器运行的 Docker 守护进程和构建包下载工件的网络位置之间存在网络代理,你需要配置建构者使用该代理。 使用Paketo构建器时,可以通过设置HTTPS_PROXY和/或HTTP_PROXY环境变量如下例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<env>
							<HTTP_PROXY>http://proxy.example.com</HTTP_PROXY>
							<HTTPS_PROXY>https://proxy.example.com</HTTPS_PROXY>
						</env>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

运行时JVM 配置

Paketo Java 构建包通过设置JAVA_TOOL_OPTIONS环境变量。 构建包提供的版本JAVA_TOOL_OPTIONS值可以修改以定制应用镜像在容器中启动时的 JVM 运行时行为。spring-doc.cadn.net.cn

应存储在镜像中并应用于每次部署的环境变量修改,可以按照Paketo文档中的描述设置,并展示如下示例:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<env>
							<BPE_DELIM_JAVA_TOOL_OPTIONS xml:space="preserve"> </BPE_DELIM_JAVA_TOOL_OPTIONS>
							<BPE_APPEND_JAVA_TOOL_OPTIONS>-XX:+HeapDumpOnOutOfMemoryError</BPE_APPEND_JAVA_TOOL_OPTIONS>
						</env>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

自定义图片名称

默认情况下,图像名称是从以下artifactId(遗物ID以及版本项目中,类似这样的docker.io/library/${project.artifactId}:${project.version}. 你可以控制名称,如下示例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<name>example.com/library/${project.artifactId}</name>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
该配置不提供显式标签,因此最近的被使用。 也可以指定标签,比如${project.version},构建中可用的任何属性或硬编码版本。

图像名称也可以在命令行中指定,如示例所示:spring-doc.cadn.net.cn

$ mvn spring-boot:build-image -Dspring-boot.build-image.imageName=example.com/library/my-app:v1

构建包

默认情况下,构建器会使用构建器镜像中包含的构建包,并按预定义顺序应用。 还可以提供一套替代的构建包,用于应用未包含在构建包中的构建包,或改变包含构建包的顺序。 当提供一个或多个构建包时,只有指定的构建包会被应用。spring-doc.cadn.net.cn

以下示例指示构建者使用一个自定义构建包,封装在.tgz文件,接着是构建器中包含的构建包。spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<buildpacks>
							<buildpack>file:///path/to/example-buildpack.tgz</buildpack>
							<buildpack>urn:cnb:builder:paketo-buildpacks/java</buildpack>
						</buildpacks>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

构建包可以通过以下任何形式来指定。spring-doc.cadn.net.cn

位于CNB构建器中的构建包(如果构建器中只有一个构建包与buildpack-id):spring-doc.cadn.net.cn

一个指向包含构建包内容目录的路径(Windows不支持):spring-doc.cadn.net.cn

一个指向包含构建包内容的 gzip tar 文件的路径:spring-doc.cadn.net.cn

Image 出版

生成的镜像可以通过启用发布选择。spring-doc.cadn.net.cn

如果 Docker 注册表需要认证,凭证可以通过以下方式配置docker.publishRegistry参数。 如果 Docker 注册表不需要认证,那么docker.publishRegistry配置可以省略。spring-doc.cadn.net.cn

图像将被发布到的注册表由图像名称中的注册表部分决定(docker.example.com在这些例子中)。 如果docker.publishRegistry凭据配置包括网址参数,该值传递给注册表,但不用于确定发布注册表的位置。
<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<name>docker.example.com/library/${project.artifactId}</name>
						<publish>true</publish>
					</image>
					<docker>
						<publishRegistry>
							<username>user</username>
							<password>secret</password>
						</publishRegistry>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

发布选项也可以在命令行中指定,如本示例所示:spring-doc.cadn.net.cn

$ mvn spring-boot:build-image -Dspring-boot.build-image.imageName=docker.example.com/library/my-app:v1 -Dspring-boot.build-image.publish=true

当使用发布在命令行中选择认证时,你可以像这个例子中那样,使用属性来提供凭证:spring-doc.cadn.net.cn

$ mvn spring-boot:build-image \
      -Ddocker.publishRegistry.username=user \
      -Ddocker.publishRegistry.password=secret \
      -Ddocker.publishRegistry.url=docker.example.com \
      -Dspring-boot.build-image.publish=true \
      -Dspring-boot.build-image.imageName=docker.example.com/library/my-app:v1

并在XML配置中引用属性:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<publishRegistry>
							<url>${docker.publishRegistry.url}</url>
							<username>${docker.publishRegistry.username}</username>
							<password>${docker.publishRegistry.password}</password>
						</publishRegistry>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

构建缓存与工作区配置

CNB 构建器缓存用于构建和启动图像时使用的图层。 默认情况下,这些缓存以命名卷的形式存储在 Docker 守护进程中,这些卷的名称源自目标镜像的全名。 如果图片名称频繁更改,例如当项目版本作为图片名称中的标签时,缓存可能会频繁失效。spring-doc.cadn.net.cn

缓存卷可以配置为使用替代名称,以便更好地控制缓存生命周期,如下示例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<buildCache>
							<volume>
								<name>cache-${project.artifactId}.build</name>
							</volume>
						</buildCache>
						<launchCache>
							<volume>
								<name>cache-${project.artifactId}.launch</name>
							</volume>
						</launchCache>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

构建器和构建包需要一个位置来存储图像构建过程中的临时文件。 默认情况下,这个临时构建工作区存储在一个命名卷中。spring-doc.cadn.net.cn

缓存和构建工作区可以配置为使用绑定挂载而非命名卷,如下示例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<image>
						<buildWorkspace>
							<bind>
								<source>/tmp/cache-${project.artifactId}.work</source>
							</bind>
						</buildWorkspace>
						<buildCache>
							<bind>
								<source>/tmp/cache-${project.artifactId}.build</source>
							</bind>
						</buildCache>
						<launchCache>
							<bind>
								<source>/tmp/cache-${project.artifactId}.launch</source>
							</bind>
						</launchCache>
					</image>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

Docker 配置

Docker Configuration for minikube

该插件可以与 minikube 提供的 Docker 守护进程通信,而非默认的本地连接。spring-doc.cadn.net.cn

在 Linux 和 macOS 上,环境变量可以通过以下命令设置Eval $(minikube Docker-env)在迷你久部启动之后。spring-doc.cadn.net.cn

插件还可以通过提供类似下例所示的连接细节来配置使用 minikube 守护进程:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<host>tcp://192.168.99.100:2376</host>
						<tlsVerify>true</tlsVerify>
						<certPath>/home/user/.minikube/certs</certPath>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

Docker Configuration for podman

该插件可以与 podman 容器引擎通信。spring-doc.cadn.net.cn

该插件可以通过提供类似于下例所示的连接细节来配置为使用 Podman 本地连接:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<host>unix:///run/user/1000/podman/podman.sock</host>
						<bindHostToBuilder>true</bindHostToBuilder>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
科利马CLI安装了命令舱员信息 --format='{{.Host.RemoteSocket.Path}}'可以用来获得docker.host本例所示的配置性质。

Colima 的 Docker 配置

该插件可以与 Colima 提供的 Docker 守护进程通信。 这DOCKER_HOST环境变量可以通过以下命令设置:spring-doc.cadn.net.cn

$ export DOCKER_HOST=$(docker context inspect colima -f '{{.Endpoints.docker.Host}}')

插件还可以通过提供类似下例所示的连接细节来配置使用 Colima 守护进程:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<host>unix:///${user.home}/.colima/docker.sock</host>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

身份验证用的 Docker 配置

如果构建器或运行镜像存储在支持用户认证的私有 Docker 注册表中,可以通过以下方式提供认证细节docker.builderRegistry参数如下例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<builderRegistry>
							<username>user</username>
							<password>secret</password>
							<url>https://docker.example.com/v1/</url>
							<email>[email protected]</email>
						</builderRegistry>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

如果构建器或运行镜像存储在支持Tokens认证的私有 Docker 注册表中,则可以通过以下方式提供Tokens值docker.builderRegistry参数如下例所示:spring-doc.cadn.net.cn

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<docker>
						<builderRegistry>
							<token>9cbaf023786cd7...</token>
						</builderRegistry>
					</docker>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>