diff --git a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java index 728d6140ee019..87d7d8d8ed47c 100644 --- a/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java +++ b/build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/docker/DockerBuildTask.java @@ -227,6 +227,12 @@ public void execute() { if (parameters.getPush().getOrElse(false)) { spec.args("--push"); + } else if (!isCrossPlatform) { + // For single-platform builds, add --load to ensure the image is loaded into + // the local Docker daemon as a regular image, not a manifest list. + // This prevents issues with newer Docker versions (23.0+) that may create + // manifest lists even for single-platform builds when BuildKit is enabled. + spec.args("--load"); } });