diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildContainerRunner.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildContainerRunner.java index 0c17aabf562a7..43c4cd4307cf6 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildContainerRunner.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildContainerRunner.java @@ -24,7 +24,7 @@ public abstract class NativeImageBuildContainerRunner extends NativeImageBuildRu final NativeConfig nativeConfig; protected final NativeConfig.ContainerRuntime containerRuntime; - private final String[] baseContainerRuntimeArgs; + String[] baseContainerRuntimeArgs; protected final String outputPath; private final String containerName; diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildLocalContainerRunner.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildLocalContainerRunner.java index f1e09c4c7a483..a3001044c1015 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildLocalContainerRunner.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildLocalContainerRunner.java @@ -3,6 +3,8 @@ import static io.quarkus.deployment.pkg.steps.LinuxIDUtil.getLinuxID; import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -15,15 +17,8 @@ public class NativeImageBuildLocalContainerRunner extends NativeImageBuildContai public NativeImageBuildLocalContainerRunner(NativeConfig nativeConfig, Path outputDir) { super(nativeConfig, outputDir); - } - - @Override - protected List getContainerRuntimeBuildArgs() { - List containerRuntimeArgs = super.getContainerRuntimeBuildArgs(); - String volumeOutputPath = outputPath; - if (SystemUtils.IS_OS_WINDOWS) { - volumeOutputPath = FileUtil.translateToVolumePath(volumeOutputPath); - } else if (SystemUtils.IS_OS_LINUX) { + if (SystemUtils.IS_OS_LINUX) { + ArrayList containerRuntimeArgs = new ArrayList<>(Arrays.asList(baseContainerRuntimeArgs)); String uid = getLinuxID("-ur"); String gid = getLinuxID("-gr"); if (uid != null && gid != null && !uid.isEmpty() && !gid.isEmpty()) { @@ -33,6 +28,16 @@ protected List getContainerRuntimeBuildArgs() { containerRuntimeArgs.add("--userns=keep-id"); } } + baseContainerRuntimeArgs = containerRuntimeArgs.toArray(baseContainerRuntimeArgs); + } + } + + @Override + protected List getContainerRuntimeBuildArgs() { + List containerRuntimeArgs = super.getContainerRuntimeBuildArgs(); + String volumeOutputPath = outputPath; + if (SystemUtils.IS_OS_WINDOWS) { + volumeOutputPath = FileUtil.translateToVolumePath(volumeOutputPath); } Collections.addAll(containerRuntimeArgs, "-v",