Drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44
Shows how to fix drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Minimum supported API version is 1.44, please upgrade your client to a newer version. 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.
When to use
You are seeing this: 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. Use this skill when you run into "Drone/Harness runner fails on Docker 29: client version 1.41 is too old, minimum 1.44".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
Versions mentioned in the source: 1.41, 29.3.0. If you are on something much newer or older, the details may have shifted.
Steps
- 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 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. - 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.
Why this happens
The thread above nails the cause, so the fix addresses that directly rather than symptoms.