客户端比服务器更新(客户端API版本:1.24,服务器API版本:1.21)

时间:2017-03-28 14:45:51

标签: docker docker-machine

当我这样做时:

sudo docker version

我收到此错误:

Error response from daemon:client is newer than server (client API version: 1.24, server API version: 1.21)

任何人都可以帮助我理解我必须做的事情吗?

3 个答案:

答案 0 :(得分:7)

Docker在客户端/服务器模型上运行,每个Docker Engine版本都有一个特定的API版本。

Docker的发布版本和API版本的组合如下:

https://docs.docker.com/engine/api/v1.26/#section/Versioning

根据上表,Docker API v1.24用于Docker Engine 1.12.x,Docker API v1.21用于Docker Engine 1.9.x.服务器需要等于或晚于客户端的API版本。

您有以下三个选项。

  1. 将服务器端升级到Docker Engine 1.12.x或更高版本。
  2. 将客户端降级为Engine 1.9.x或更低版本。
  3. 通过在客户端将DOCKER_API_VERSION=1.21导出到环境变量来降级运行时使用的API版本。

答案 1 :(得分:7)

尝试使用以下命令设置版本:

export DOCKER_API_VERSION=1.23

它对我来说非常好,并解决了这个问题。

答案 2 :(得分:1)

其他答案并没有真正说明如何在Windows计算机上执行此操作。我无法访问gui,因此必须通过CLI来完成。

我知道这很旧,但是我摸索了一段时间,直到我终于弄清楚了。因此,我希望这对某人有帮助。

Windows用户

对于使用Windows的用户,可以通过进入“高级系统设置”来设置环境变量。

如果您需要通过命令行进行操作。这对我有用:

setx /M DOCKER_API_VERSION "1.23"

此外,您还可以设置永久主机位置,然后使用以下命令运行不带-H选项的命令:

setx /M DOCKER_HOST "192.168.207.131:2375"

注意:设置变量后,必须关闭命令行并打开新的命令行以使更改生效。

注意2:如果要对远程系统进行更改,则需要注销并重新登录以使更改生效。