Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker-来自守护程序的错误响应:客户端比服务器更新_Docker_Docker Compose_Docker Machine_Docker Api - Fatal编程技术网

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

Docker-来自守护程序的错误响应:客户端比服务器更新,docker,docker-compose,docker-machine,docker-api,Docker,Docker Compose,Docker Machine,Docker Api,使用Docker machine创建新机器后,我得到以下错误: 如何修复此问题?docker机器升级 docker-machine upgrade <your-machine> 我会成功的。这可能会发生——就像我所做的那样——即使你没有使用RCs,而且你的机器是新创建的。这可能是由于ISO缓存问题造成的。错误已在中注释 如果docker客户端为1.9.x,服务器运行docker 1.8.x, 观察到错误消息 如果升级docker客户端,您将无法使用旧的docker机器VM。实际

使用Docker machine创建新机器后,我得到以下错误:

如何修复此问题?

docker机器升级
docker-machine upgrade <your-machine>
我会成功的。这可能会发生——就像我所做的那样——即使你没有使用RCs,而且你的机器是新创建的。这可能是由于ISO缓存问题造成的。错误已在中注释

如果docker客户端为1.9.x,服务器运行docker 1.8.x, 观察到错误消息


如果升级docker客户端,您将无法使用旧的docker机器VM。实际上,您可以使用
docker machine upgrade vm name
强制升级,但如果您使用其他发行版(boot2docker除外)作为docker主机,如coreos、atomic、rancheros,则可能会失败

我使用Carina管理多个docker客户端版本

只需使用
$curl-sL安装即可https://download.getcarina.com/dvm/latest/install.sh |嘘
(linux和mac安装)并运行
dvm ls
列出已安装的版本,
dvm install 1.9.0
安装版本,
dvm use 1.8.1
更改客户端版本

非常简单和强大。=)

注意,为了您的安全,在运行脚本之前,请务必查看从internet下载的脚本


希望对您有所帮助

显然,此错误是由于docker机器进入睡眠状态所致。下面是为我解决这个问题的神奇命令:

$ docker-machine restart default
或者将
default
替换为您的机器名称。 结果是:

$ docker-machine restart default
Restarting "default"...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
根据建议,您可能需要:

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://....."
export DOCKER_CERT_PATH=".../.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)
最后运行该命令:

$ eval $(docker-machine env default)

从现在起,它应该可以工作。

我在1.10.0-rc4中遇到了同样的问题,结果是,在安装较新的Docker工具箱时,boot2docker没有正确更新。我必须手动删除boot2docker:

sudo rm -rf /usr/local/share/boot2docker
您还可以删除工具箱的其余部分:

sudo rm -rf /usr/local/bin/docker*
sudo rm -rf /Applications/Docker
最后安装所需版本的Docker Toolbox


请参阅

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

export DOCKER_API_VERSION=<version>
并重试
docker
命令


.

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

在这种情况下,只需执行以下操作:

sudo service docker restart

证实了这在“Ubuntu16.04.1LTS”上也有效哇,当时我认为我对docker,inc.没什么印象。。。为什么默认情况下它自己不这样做呢?谢谢!!似乎解决了我的问题,什么是?你的docker机器的名称,通常是default或devIt,就这么简单!如果有疑问,请重新引导/启动!
export DOCKER_API_VERSION=1.19
sudo service docker restart