尝试
使用cm
命令启动Selenoid时出错:
$ ./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
发生这种情况是因为 cm
内部使用的 Docker 客户端版本不兼容,并安装了 Docker 服务器。 cm
内部只使用与docker
命令相同的官方 Go 客户端,因此任何环境变量都适用。要解决此问题,我们需要通过设置环境变量来告诉客户端使用正确的 Docker API 版本:
DOCKER_API_VERSION=1.24 ./cm selenoid start --vnc
UPD:从 CM 版本 1.4.0 开始,这是自动确定的。