Steps using their own custom DinD image version 29+ (or latest) in Self-hosted Runner or Runtime v3 in Cloud Runner may get the following error:
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
It means the step is using an old docker client and docker engine v29+.
See the release notes:
https://docs.docker.com/engine/release-notes/29
The daemon now requires API version v1.44 or later (Docker v25.0+).
By default, when you specify a docker service in the YAML, docker cli version 20.10.24 is mounted into /usr/bin/docker.
When docker service image v29+ is specified, it may break due to this incompatibility.
Otherwise, it defaults docker engine v25 which does not have compatibility issues.
By default, when you specify a docker service in the YAML, docker cli version 20.10.24 is mounted into /usr/bin/docker.
However, it is not possible to specify custom docker image.
Therefore, this issue is not present.
By default, when you specify a docker service in the YAML, docker cli is NOT mounted.
The default docker service image is docker:dind. But you can specify another one.
The issue can only only happen here if you bring a docker cli older than v25.
When specifying docker image, use an image compatible with the docker cli 20.10.14. Ex: You can use docker:28-dind instead of docker:dind or docker:latest.
The build image needs to have docker cli v25+ baked and present in this location: /usr/local/bin/docker. This one will have precedence over the one the mounted on /usr/bin/docker.
Tip: If using atlassian/default-image:4, just change to atlassian/default-image:5.
Marcos Sampaio
1 comment