Erreur Client version is too old

Si vous utilisez Gitlab CI pour builder des images docker, vous obtenez cette erreur, ce qui bloque la CI :

ERROR: Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version: driver not connecting

Cela veut dire que le client docker utilisé par la CI est trop ancien (ici 1.43 au lieu de 1.44).

Si Gitlab utilise le docker présent sur le système, à vous de le mettre à jour sur le serveur.

Sinon, vous utilisez une image docker qui contient un client docker permettant de builder une image docker 🤯.
Dans ce cas, pour utiliser un client plus récent, vous devez utiliser une image plus récente.

Vous pouvez spécifier cette version directement dans le fichier .gitlab-ci.yml à votre étape de build :

docker-build-backend-base:
    stage: docker-build-base
    only:
        refs:
            - merge_requests
        changes:
            - .gitlab-ci.yml
    image: docker:29.0.0
    interruptible: true
    variables:
        DOCKER_BUILDKIT: 1
        DOCKER_DRIVER: overlay2
    before_script:
        - apk update && apk add make
    script:
        - docker build -t gitlab.mydomain.com:1234/group/project/backend/base:latest -f ./docker/image/php/base/Dockerfile ./docker/image/php/base

La ligne importante ici est image: docker:29.0.0, qui force l’utilisation de la version 29 de l’image. Cette image contient un client Docker >= 1.44.