Merge branch '3.1.x'

Closes gh-38032
This commit is contained in:
Andy Wilkinson 2023-10-25 14:08:22 +01:00
commit 0d1a223fee
6 changed files with 107 additions and 1 deletions

View File

@ -515,6 +515,26 @@ include::../gradle/packaging/boot-build-image-docker-host-podman.gradle.kts[tags
TIP: With the `podman` CLI installed, the command `podman info --format='{{.Host.RemoteSocket.Path}}'` can be used to get the value for the `docker.host` configuration property shown in this example.
[[build-image.examples.docker.colima]]
==== Docker Configuration for Colima
The plugin can communicate with the Docker daemon provided by https://github.com/abiosoft/colima[Colima].
The `DOCKER_HOST` environment variable can be set by using the command `export DOCKER_HOST=$(docker context inspect colima -f '{{.Endpoints.docker.Host}}').`
The plugin can also be configured to use Colima daemon by providing connection details similar to those shown in the following example:
[source,groovy,indent=0,subs="verbatim,attributes",role="primary"]
.Groovy
----
include::../gradle/packaging/boot-build-image-docker-host-colima.gradle[tags=docker-host]
----
[source,kotlin,indent=0,subs="verbatim,attributes",role="secondary"]
.Kotlin
----
include::../gradle/packaging/boot-build-image-docker-host-colima.gradle.kts[tags=docker-host]
----
[[build-image.examples.docker.auth]]
==== Docker Configuration for Authentication

View File

@ -0,0 +1,22 @@
plugins {
id 'java'
id 'org.springframework.boot' version '{gradle-project-version}'
}
tasks.named("bootJar") {
mainClass = 'com.example.ExampleApplication'
}
// tag::docker-host[]
tasks.named("bootBuildImage") {
docker {
host = "unix://${System.properties['user.home']}/.colima/docker.sock"
}
}
// end::docker-host[]
tasks.register("bootBuildImageDocker") {
doFirst {
println("host=${tasks.bootBuildImage.docker.host}")
}
}

View File

@ -0,0 +1,25 @@
import org.springframework.boot.gradle.tasks.bundling.BootJar
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
plugins {
java
id("org.springframework.boot") version "{gradle-project-version}"
}
tasks.named<BootJar>("bootJar") {
mainClass.set("com.example.ExampleApplication")
}
// tag::docker-host[]
tasks.named<BootBuildImage>("bootBuildImage") {
docker {
host = "unix://${System.getProperty("user.home")}/.colima/docker.sock"
}
}
// end::docker-host[]
tasks.register("bootBuildImageDocker") {
doFirst {
println("host=${tasks.getByName<BootBuildImage>("bootBuildImage").docker.host}")
}
}

View File

@ -299,6 +299,14 @@ class PackagingDocumentationTests {
.contains("bindHostToBuilder=true");
}
@TestTemplate
void bootBuildImageWithDockerHostColima() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-host-colima")
.build("bootBuildImageDocker");
assertThat(result.getOutput())
.contains("host=unix://" + System.getProperty("user.home") + "/.colima/docker.sock");
}
@TestTemplate
void bootBuildImageWithDockerUserAuth() {
BuildResult result = this.gradleBuild.script("src/docs/gradle/packaging/boot-build-image-docker-auth-user")

View File

@ -466,7 +466,20 @@ The plugin can be configured to use podman local connection by providing connect
include::../maven/packaging-oci-image/docker-podman-pom.xml[tags=docker-podman]
----
TIP: With the `podman` CLI installed, the command `podman info --format='{{.Host.RemoteSocket.Path}}'` can be used to get the value for the `docker.host` configuration property shown in this example.
TIP: With the `colima` CLI installed, the command `podman info --format='{{.Host.RemoteSocket.Path}}'` can be used to get the value for the `docker.host` configuration property shown in this example.
[[build-image.examples.docker.colima]]
==== Docker Configuration for Colima
The plugin can communicate with the Docker daemon provided by https://github.com/abiosoft/colima[Colima].
The `DOCKER_HOST` environment variable can be set by using the command `export DOCKER_HOST=$(docker context inspect colima -f '{{.Endpoints.docker.Host}}').`
The plugin can also be configured to use Colima daemon by providing connection details similar to those shown in the following example:
[source,xml,indent=0,subs="verbatim,attributes",tabsize=4]
----
include::../maven/packaging-oci-image/docker-colima-pom.xml[tags=docker-colima]
----
[[build-image.examples.docker.auth]]
==== Docker Configuration for Authentication

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- tag::docker-colima[] -->
<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>
<!-- end::docker-colima[] -->