当我这样做时:
sudo docker version
我收到此错误:
Error response from daemon:client is newer than server (client API version: 1.24, server API version: 1.21)
任何人都可以帮助我理解我必须做的事情吗?
答案 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版本。
您有以下三个选项。
DOCKER_API_VERSION=1.21
导出到环境变量来降级运行时使用的API版本。答案 1 :(得分:7)
尝试使用以下命令设置版本:
export DOCKER_API_VERSION=1.23
它对我来说非常好,并解决了这个问题。
答案 2 :(得分:1)
其他答案并没有真正说明如何在Windows计算机上执行此操作。我无法访问gui,因此必须通过CLI来完成。
我知道这很旧,但是我摸索了一段时间,直到我终于弄清楚了。因此,我希望这对某人有帮助。
对于使用Windows的用户,可以通过进入“高级系统设置”来设置环境变量。
如果您需要通过命令行进行操作。这对我有用:
setx /M DOCKER_API_VERSION "1.23"
此外,您还可以设置永久主机位置,然后使用以下命令运行不带-H选项的命令:
setx /M DOCKER_HOST "192.168.207.131:2375"
注意:设置变量后,必须关闭命令行并打开新的命令行以使更改生效。
注意2:如果要对远程系统进行更改,则需要注销并重新登录以使更改生效。