From b6a9e4eefd38d063d64fc58726f9af924089d7b2 Mon Sep 17 00:00:00 2001 From: Andrew Leonard <31470007+andrew-m-leonard@users.noreply.github.com> Date: Thu, 8 Jun 2023 14:35:34 +0100 Subject: [PATCH] Enable docker builds when emulated by podman (#716) Signed-off-by: Andrew Leonard --- pipelines/build/common/openjdk_build_pipeline.groovy | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pipelines/build/common/openjdk_build_pipeline.groovy b/pipelines/build/common/openjdk_build_pipeline.groovy index 742c13920..019df07d4 100644 --- a/pipelines/build/common/openjdk_build_pipeline.groovy +++ b/pipelines/build/common/openjdk_build_pipeline.groovy @@ -1817,6 +1817,14 @@ class Build { } else { dockerImageDigest = dockerImageDigest.replaceAll("\\[", "").replaceAll("\\]", "") String dockerRunArg="-e \"BUILDIMAGESHA=$dockerImageDigest\"" + + // Are we running podman in Docker CLI Emulation mode? + def isPodman = context.sh(script: "docker --version | grep podman", returnStatus:true) + if (isPodman == 0) { + // Note: --userns was introduced in podman 4.3.0 + // Add uid and gid userns mapping required for podman + dockerRunArg += " --userns keep-id:uid=1000,gid=1000" + } context.docker.image(buildConfig.DOCKER_IMAGE).inside(buildConfig.DOCKER_ARGS+" "+dockerRunArg) { buildScripts( cleanWorkspace,