Docker - 来自守护程序的错误响应:客户端比服务器更新

Mar*_*ier 29 docker docker-compose docker-machine docker-api

用Docker Machine创建新机器后,我收到以下错误:

在此输入图像描述

$ docker ps
Error response from daemon: client is newer than server(client API version 1.21, server API version: 1.19)
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Mar*_*ier 40

docker-machine upgrade <your-machine>
Run Code Online (Sandbox Code Playgroud)

会做的.这可能发生 - 就像它对我一样 - 即使您没有使用RC并且您的机器是新创建的.这可能是由于ISO缓存问题.该线程中注释了该错误.

如果docker客户端是1.9.x且服务器正在运行docker 1.8.x,则会观察到错误消息.


tec*_*raf 31

如果有人碰巧遇到此错误但未使用docker-machine,则可以通过在客户端的环境变量中指定较旧的API版本来解决此问题:

export DOCKER_API_VERSION=<version>
Run Code Online (Sandbox Code Playgroud)

例如:

export DOCKER_API_VERSION=1.19
Run Code Online (Sandbox Code Playgroud)

并重试该docker命令.

参考.

  • 哇,当我不觉得docker,inc会让我印象更深时,为什么默认情况下它本身不这样做呢? (2认同)

小智 11

在ubuntu发行版上,如果docker作为服务运行,它会在apt更新后发生.客户端已更新,但旧版本的服务器仍在运行.

在这种情况下,只需做一个:

sudo service docker restart
Run Code Online (Sandbox Code Playgroud)