diff --git a/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java b/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java index ebbfd68a3..baaecddfc 100644 --- a/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java +++ b/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java @@ -73,6 +73,9 @@ import java.util.logging.Logger; import java.util.stream.Collectors; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class WithContainerStep extends AbstractStepImpl { private static final Logger LOGGER = Logger.getLogger(WithContainerStep.class.getName()); @@ -196,6 +199,13 @@ public Execution() { String command = launcher.isUnix() ? "cat" : "cmd.exe"; container = dockerClient.run(env, step.image, step.args, ws, volumes, volumesFromContainers, envReduced, dockerClient.whoAmI(), /* expected to hang until killed */ command); + Pattern cid_rx = Pattern.compile("[0-9,a-f]{64}"); + Matcher cid_mr = cid_rx.matcher(container); + + if (cid_mr.find()) { + container = cid_mr.group(); + } + final List ps = dockerClient.listProcess(env, container); if (!ps.contains(command)) { listener.error(