diff --git a/lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap b/lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap
index ce832abf7f4ac26dbbc001bb43b731ec4a6ec7d1..52534d46a332fbe9ccc13aa5931cf60af70f9e47 100644
--- a/lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/bundler/__snapshots__/artifacts.spec.ts.snap
@@ -20,7 +20,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_ruby -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_ruby -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -65,7 +65,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_ruby -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_ruby -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -110,7 +110,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_ruby -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_ruby -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -156,7 +156,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_ruby -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_ruby -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap b/lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap
index 687c058818d9a3235d68db7237f5afe134837d0e..ef9ee459f6b7488b7745a14a88a250df0a402a3c 100644
--- a/lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/cargo/__snapshots__/artifacts.spec.ts.snap
@@ -64,7 +64,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_rust -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_rust -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/cocoapods/__snapshots__/artifacts.spec.ts.snap b/lib/manager/cocoapods/__snapshots__/artifacts.spec.ts.snap
index c1a5c53081d975f83d3e348711437365b1842f3d..9cd4619c1a3ebaedbd8d5c842d2b40f2b32fb13b 100644
--- a/lib/manager/cocoapods/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/cocoapods/__snapshots__/artifacts.spec.ts.snap
@@ -28,7 +28,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_cocoapods -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_cocoapods -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -68,7 +68,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_cocoapods -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_cocoapods -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -182,7 +182,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_cocoapods -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_cocoapods -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -245,7 +245,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_cocoapods -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_cocoapods -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/composer/__snapshots__/artifacts.spec.ts.snap b/lib/manager/composer/__snapshots__/artifacts.spec.ts.snap
index fe23b9deeac7d8c89f33f15da67f76d5cdb1e6f0..a7479466237f3f363a80adc57a9afdb0e4546420 100644
--- a/lib/manager/composer/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/composer/__snapshots__/artifacts.spec.ts.snap
@@ -100,7 +100,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_composer -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_composer -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap b/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
index 6def232ae65c7e0c8cc989e17ff312c5f86e294e..245615173fb138b9c2fe38226f5c52415f4d3955 100644
--- a/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/gomod/__snapshots__/artifacts.spec.ts.snap
@@ -76,7 +76,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_go -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_go -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -114,7 +114,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_go -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_go -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -141,7 +141,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_go -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_go -aq",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -179,7 +179,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_go -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_go -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/gradle/__snapshots__/index.spec.ts.snap b/lib/manager/gradle/__snapshots__/index.spec.ts.snap
index b979d1c73003e0aa60ea9c420d49545416403962..4250c501d976f7ed833ea8c2a65fda9332f38c1d 100644
--- a/lib/manager/gradle/__snapshots__/index.spec.ts.snap
+++ b/lib/manager/gradle/__snapshots__/index.spec.ts.snap
@@ -536,7 +536,13 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_gradle -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_gradle -aq",
+    "options": Object {
+      "encoding": "utf-8",
+    },
+  },
+  Object {
+    "cmd": "docker rm -f gradle output",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -570,7 +576,13 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_gradle -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_gradle -aq",
+    "options": Object {
+      "encoding": "utf-8",
+    },
+  },
+  Object {
+    "cmd": "docker rm -f gradle output",
     "options": Object {
       "encoding": "utf-8",
     },
@@ -604,7 +616,13 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_gradle -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_gradle -aq",
+    "options": Object {
+      "encoding": "utf-8",
+    },
+  },
+  Object {
+    "cmd": "docker rm -f gradle output",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap b/lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
index 69c24bd4bcff78fe76fc13810d1f73a11807fc37..e4f4a7327b8465375b0c42c69a787cf043e44896 100644
--- a/lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/pipenv/__snapshots__/artifacts.spec.ts.snap
@@ -66,7 +66,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_pipenv -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_pipenv -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap b/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
index 1dbbe193b95cc8c2e48680c2d8e99523c238f103..bc01d94f1fdf7c41734fdf9fcc0889923366ee27 100644
--- a/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/poetry/__snapshots__/artifacts.spec.ts.snap
@@ -65,7 +65,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker ps --filter name=renovate_poetry -aq | xargs --no-run-if-empty docker rm -f",
+    "cmd": "docker ps --filter name=renovate_poetry -aq",
     "options": Object {
       "encoding": "utf-8",
     },
diff --git a/lib/util/exec/__snapshots__/exec.spec.ts.snap b/lib/util/exec/__snapshots__/exec.spec.ts.snap
index 139bf9040e6ed2239482d7b95a2745dc741760d5..98e090c4ea550e2cf4c16901c77620446d56e4b2 100644
--- a/lib/util/exec/__snapshots__/exec.spec.ts.snap
+++ b/lib/util/exec/__snapshots__/exec.spec.ts.snap
@@ -6,16 +6,16 @@ Array [
   "echo hello",
   "docker ps --filter label=renovate_child -aq | xargs --no-run-if-empty docker rm -f",
   "docker pull example/image",
-  "docker ps --filter name=example_image -aq | xargs --no-run-if-empty docker rm -f",
+  "docker ps --filter name=example_image -aq",
   "docker run --rm --name=example_image --label=renovate_child example/image bash -l -c \\"echo hello\\"",
-  "docker ps --filter name=example_image -aq | xargs --no-run-if-empty docker rm -f",
+  "docker ps --filter name=example_image -aq",
   "docker run --rm --name=example_image --label=renovate_child example/image bash -l -c \\"echo hello\\"",
   "echo hello",
   "echo hello",
   "docker ps --filter label=renovate_child -aq | xargs --no-run-if-empty docker rm -f",
-  "docker ps --filter name=example_image -aq | xargs --no-run-if-empty docker rm -f",
+  "docker ps --filter name=example_image -aq",
   "docker run --rm --name=example_image --label=renovate_child example/image bash -l -c \\"echo hello\\"",
-  "docker ps --filter name=example_image -aq | xargs --no-run-if-empty docker rm -f",
+  "docker ps --filter name=example_image -aq",
   "docker run --rm --name=example_image --label=renovate_child example/image bash -l -c \\"echo hello\\"",
 ]
 `;
diff --git a/lib/util/exec/docker/index.ts b/lib/util/exec/docker/index.ts
index eec51223d610c206da8f1d9e2e044fa43a971320..f8bda74ccb8073e6730ac160a93d4518fe313a8c 100644
--- a/lib/util/exec/docker/index.ts
+++ b/lib/util/exec/docker/index.ts
@@ -114,23 +114,28 @@ function getContainerName(image: string): string {
 
 export async function removeDockerContainer(image): Promise<void> {
   const containerName = getContainerName(image);
+  let cmd = `docker ps --filter name=${containerName} -aq`;
   try {
-    const res = await rawExec(
-      `docker ps --filter name=${containerName} -aq | xargs --no-run-if-empty docker rm -f`,
-      { encoding: 'utf-8' }
-    );
-    if (res?.stdout?.trim().length) {
-      const containerId = res.stdout.trim();
-      logger.info(
-        { image, containerName, containerId },
-        'Finished Docker container removal'
-      );
+    const res = await rawExec(cmd, {
+      encoding: 'utf-8',
+    });
+    const containerId = res?.stdout?.trim() || '';
+    // istanbul ignore if
+    if (containerId.length) {
+      logger.debug({ containerId }, 'Removing container');
+      cmd = `docker rm -f ${containerId}`;
+      await rawExec(cmd, {
+        encoding: 'utf-8',
+      });
     } else {
       logger.trace({ image, containerName }, 'No running containers to remove');
     }
   } catch (err) /* istanbul ignore next */ {
     logger.trace({ err }, 'removeDockerContainer err');
-    logger.info({ image, containerName }, 'Could not remove Docker container');
+    logger.info(
+      { image, containerName, cmd },
+      'Could not remove Docker container'
+    );
   }
 }
 
diff --git a/lib/util/exec/exec.spec.ts b/lib/util/exec/exec.spec.ts
index b2a5446dc1cde332584b7133dc387587fb6f2903..3dd6c80716a2ee3eb1f859295919e64b5e0c036c 100644
--- a/lib/util/exec/exec.spec.ts
+++ b/lib/util/exec/exec.spec.ts
@@ -74,7 +74,7 @@ describe(`Child process execution wrapper`, () => {
   const docker = { image };
   const processEnv = envMock.full;
   const dockerPullCmd = `docker pull ${image}`;
-  const dockerRemoveCmd = `docker ps --filter name=${name} -aq | xargs --no-run-if-empty docker rm -f`;
+  const dockerRemoveCmd = `docker ps --filter name=${name} -aq`;
   const dockerPullOpts = { encoding };
   const dockerRemoveOpts = dockerPullOpts;