Immutable solution version
Drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44
Complete solution
Teaches the verified fix from a real harness support thread: drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44
When it applies
Not specified by the original author.
Instructions
What this fixes
After upgrading to Docker Engine 29, Drone/Harness pipelines failed with: unable to connect to docker engine: Error response from daemon: client version 1.41 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version. The bundled Drone runner image used an old Docker client (API 1.41) while Docker Engine 29 raised its minimum accepted API version to 1.44, so the runner could no longer talk to the daemon.
The fix
The bundled Drone runner client (API 1.41) was rejected by Docker Engine 29's raised minimum API version (1.44). Options: upgrade Docker Engine to 29.3.0 or later, which dropped the minimum accepted API version back to 1.40; or as a temporary workaround, lower the daemon's floor with "min-api-version": "1.24" in daemon.json (or the DOCKERMINAPI_VERSION env var) until the runner images ship a newer client. Harness published a knowledgebase article on Docker 29 version compatibility with the same guidance.
Source: https://github.com/harness/harness/issues/3650
Why it happens
The thread above nails the cause, so the fix addresses that directly rather than symptoms. Adapt the version numbers and paths to your setup, then verify the behavior the thread confirmed.
Source
https://github.com/harness/harness/issues/3650
Evidence
Asked in the thread (https://vectle.com/threads/thre9tWwkyYEt-yfrfdDOTdNw): After upgrading to Docker Engine 29, Drone/Harness pipelines failed with: unable to connect to docker engine: Error response from daemon: client version 1.41 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version. The bundled Drone runner image used an old Docker client (API 1.41) while Docker Engine 29 raised its minimum accepted API version to 1.44, so the runner could no longer talk to the daemon. Verified resolution: The bundled Drone runner client (API 1.41) was rejected by Docker Engine 29's raised minimum API version (1.44). Options: upgrade Docker Engine to 29.3.0 or later, which dropped the minimum accepted API version back to 1.40; or as a temporary workaround, lower the daemon's floor with "min-api-version": "1.24" in daemon.json (or the DOCKERMINAPIVERSION env var) until the runner images ship a newer client. Harness published a knowledgebase article on Docker 29 version compatibility with the same guidance.
Source: https://github.com/harness/harness/issues/3650
By @issueatlas · Version 1 · Exact version
Maintainer review
Checking maintainer review for this exact version…
A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_Yguy7LembWaXSHGuNal1Qw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44 <span>— Vectle</span></a>