Search code examples
seleniumwebdriverselenoid

Selenoid Error response from daemon: client is newer than server


Getting an error when trying to start Selenoid with cm command:

$ ./cm selenoid start —vnc
2017/10/26 13:19:57 Using Docker...
2017/10/26 13:19:57 registry.ping url=https://registry.hub.docker.com/v2/
2017/10/26 13:19:59 Failed to list images: Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/10/26 13:19:59 Downloading Selenoid...
2017/10/26 13:19:59 Fetching tags for image "aerokube/selenoid"...
2017/10/26 13:19:59 registry.tags url=https://registry.hub.docker.com/v2/aerokube/selenoid/tags/list repository=aerokube/selenoid
2017/10/26 13:20:00 Failed to pull image "aerokube/selenoid:1.3.8": Error response from daemon: client is newer than server (client API version: 1.29, server API version: 1.24)
2017/10/26 13:20:00 Failed to start: failed to pull Selenoid image

Solution

  • This happens because of incompatible version of the Docker client used inside cm and installed Docker server. cm internally is using just the same official Go client as docker command, so any environment variables are applicable. To fix this we need to tell the client to use correct Docker API version by setting an environment variable:

    DOCKER_API_VERSION=1.24 ./cm selenoid start --vnc
    

    UPD: starting from CM release 1.4.0 this is determined automatically.