Machine: 无法连接到 Docker 守护程序,已超出最大重试次数 (60)

创建于 2016-01-19  ·  23评论  ·  资料来源: docker/machine

你好,

上周我能够毫无问题地运行 docker。 从那以后我唯一改变的是将 node 升级到最新的稳定版 v5.4.1

重现步骤:

$ docker-machine start default
Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

$ eval "$(docker-machine env default)"
Maximum number of retries (60) exceeded

由于最后一个错误,我无法运行 docker:

$ docker run -i -p 80:80 -p 8080:8080 --add-host='<REDACTED>' --add-host='<REDACTED>' --add-host='<REDACTED>' -v `pwd`:/var/folder_name -t alyda/tr $1
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

docker-machine version 0.4.1 (e2c88d6)

drivevirtualbox

最有用的评论

docker-machine ls返回什么?

如果仍然卡住,您可能需要删除/重新创建机器。
去做这个 :

docker-machine rm -f default
docker-machine create -d virtualbox default

顺便说一句,您在哪个操作系统上运行所有这些?

所有23条评论

所以我将 docker-machine 升级到version 0.5.6, build 61388e9 ,但我仍然遇到错误:

$ docker-machine start default
Starting "default"...
(default) Waiting for an IP...
Machine "default" was started.
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

$ eval "$(docker-machine env default)"
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: getsockopt: connection refused
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

$ docker-machine regenerate-certs default
Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
Regenerating TLS certificates
Detecting the provisioner...
Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded

$ docker run -i -p 80:80 -p 8080:8080 --add-host='<REDACTED>' --add-host='<REDACTED>' --add-host='<REDACTED>' -v `pwd`:/var/folder_name -t alyda/tr $1
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

docker-machine ls返回什么?

如果仍然卡住,您可能需要删除/重新创建机器。
去做这个 :

docker-machine rm -f default
docker-machine create -d virtualbox default

顺便说一句,您在哪个操作系统上运行所有这些?

$ docker-machine ls
NAME      ACTIVE   URL          STATE     URL   SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                 Unknown  

在 OSX 10.10.5 (Yosemite) 上运行

更新:这可能更有用:

NAME      ACTIVE   URL          STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

@alycda - 升级 docker-machine 后我两次遇到同样的问题。 如果您正在使用 brew,您可以尝试我所做的 - 卸载 docker、docker-compose、docker-machine,重新启动您的 mac,然后重新安装。

这在上述步骤后起作用:
~ ❯ docker-machine create --virtualbox-memory "4096" --virtualbox-disk-size "20000" --virtualbox-cpu-count "2" --driver virtualbox dev

OS X 10.11 El Capitan
Docker 版本 1.9.1,构建 a34a1d5
docker-machine 版本 0.5.6,构建 61388e9
docker-compose 版本 1.5.2,构建未知

谢谢,

以下对我有用:

$ brew uninstall docker docker-compose docker-machine
Error: No such keg: /usr/local/Cellar/docker

重启电脑...

$ brew install docker docker-machine
==> Downloading https://homebrew.bintray.com/bottles/docker-1.9.1_1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring docker-1.9.1_1.yosemite.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/docker
Target /usr/local/bin/docker
already exists. You may want to remove it:
  rm '/usr/local/bin/docker'

To force the link and overwrite all conflicting files:
  brew link --overwrite docker

To list all files that would be deleted:
  brew link --overwrite --dry-run docker

Possible conflicting files are:
/usr/local/bin/docker
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/docker/1.9.1_1: 10 files, 9.6M
==> Downloading https://homebrew.bintray.com/bottles/docker-machine-0.5.6_1.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring docker-machine-0.5.6_1.yosemite.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/docker-machine
Target /usr/local/bin/docker-machine
already exists. You may want to remove it:
  rm '/usr/local/bin/docker-machine'

To force the link and overwrite all conflicting files:
  brew link --overwrite docker-machine

To list all files that would be deleted:
  brew link --overwrite --dry-run docker-machine

Possible conflicting files are:
/usr/local/bin/docker-machine
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/docker-machine/0.5.6_1: 5 files, 36.3M
$ docker-machine create -d virtualbox dev
Running pre-create checks...
(dev) You are using version 4.3.34r104062 of VirtualBox. If you encouter issues, you might want to upgrade to version 5 at https://www.virtualbox.org
Creating machine...
(dev) Copying /Users/adavis/.docker/machine/cache/boot2docker.iso to /Users/adavis/.docker/machine/machines/dev/boot2docker.iso...
(dev) Creating VirtualBox VM...
(dev) Creating SSH key...
(dev) Starting the VM...
(dev) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect Docker to this machine, run: docker-machine env dev
$ eval $(docker-machine env dev)
$ docker run -i -p 80:80 -p 8080:8080 --add-host='<REDACTED>' --add-host='<REDACTED>' --add-host='<REDACTED>' -v `pwd`:/var/folder_name -t alyda/tr $1
Unable to find image 'alyda/tr:latest' locally
latest: Pulling from alyda/tr
...

“开发”机器现在似乎可以工作,但“默认”机器仍然坏了。 如果我可以在最近创建的“开发”机器上工作,我不在乎修复它,但我很想知道发生了什么以及如何防止它。

开发机器运行:

$ docker-machine ls
NAME      ACTIVE   URL          STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                                       Unknown   
dev       *        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1    

试图运行“默认”

$ docker-machine ls
NAME      ACTIVE   URL          STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint
dev       -        virtualbox   Stopped                                       Unknown   

遇到与https://github.com/docker/machine/issues/2879#issuecomment -173027837 中所述相同的问题。

docker-machine ls

NAME      ACTIVE   URL          STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

Docker 版本 1.9.1,构建 a34a1d5
docker-machine 版本 0.5.6,构建 61388e9
docker-compose 版本 1.5.2,构建 7240ff3

与 DockerToolbox-1.9.1i.pkg 一起安装

重新创建默认机器有效,不必重新安装 docker 或重新启动计算机。

我突然遇到了同样的问题:

➜ ~ docker-machine 启动默认
开始“默认”...
(默认)正在等待 IP...
等待 SSH 可用的重试次数过多。 最后一个错误:超过最大重试次数 (60)

删除机器并尝试重新创建它似乎有效,但它看起来有一段时间:

➜ ~ docker-machine create -d virtualbox 默认
运行预创建检查...
正在创建机器...
(默认)将 /Users/jaz/.docker/machine/cache/boot2docker.iso 复制到 /Users/jaz/.docker/machine/machines/default/boot2docker.iso...
(默认)正在创建 VirtualBox VM...
(默认)正在创建 SSH 密钥...
(默认)启动虚拟机...
(默认)正在等待 IP...
等待机器运行,这可能需要几分钟...
机器正在运行,等待 SSH 可用...
正在检测已创建实例的操作系统...
正在检测供应商...
使用 boot2docker 进行配置...
正在将证书复制到本地机器目录...
正在将证书复制到远程机器...
在远程守护进程上设置 Docker 配置...
正在检查与 Docker 的连接...
Docker 已启动并运行!
要查看如何将 Docker 连接到这台机器,请运行:docker-machine env default

我遇到了同样的问题Unable to query docker version: Cannot connect to the docker engine endpoint这发生在使用 VPN 之后。 幸运的是,我不必创建一个新的。 我所做的就是让它恢复生机,只是停止它并重新开始。

我这里也一样。
@alycda一样,我的虚拟机正在运行。
@jpae一样,我刚刚重新启动它,就再也没有收到错误消息了。

@jimzucker @dideler @alycda我在这里遇到了同样的问题。 它似乎是在我更新 docker 和 docker-machine 之后开始的。
我尝试停止/启动但它不起作用,当我删除它们并尝试再次创建时,我收到了以下消息:

Running pre-create checks...
(default) Default Boot2Docker ISO is out-of-date, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v1.10.2
(default) Downloading /Users/rafaelverger/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.10.2/boot2docker.iso...

有同样的问题。

我正在运行 OSX 10.11 - 我的设置运行良好,经过几周不使用 Docker 后,现在正在发生:

NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

我现在已经更新了 docker 工具包和虚拟框,但是在我更改任何内容之前就出现了错误。 那时我可能已经对 OSX 进行了一些更新,但我不确定。

版本:

$ docker version
Client:
 Version:      1.10.2
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   c3959b1
 Built:        Mon Feb 22 22:37:33 2016
 OS/Arch:      darwin/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$ docker-machine version
docker-machine version 0.6.0, build e27fb87

FWIW - 我在使用vmwarefusion驱动程序时遇到了同样的问题。 我最终将docker客户端从 1.10.2 升级到 1.10.3 并重新创建boot2docker虚拟机以解决与上述类似的问题。 有一两件事,帮助解决此问题是运行docker-machine--debug标志。

你好,
在 digitalocean 上,我收到错误“创建机器时出错:运行配置时出错:无法验证 Docker 守护进程正在侦听:超过最大重试次数 (10)”我尝试

Mac-Laxman:~ laxmansingh$ docker-machine create -d digitalocean yash
运行预创建检查...
正在创建机器...
(yash) 正在创建 SSH 密钥...
(yash) 创建数字海洋水滴...
(yash) 正在等待分配给 Droplet 的 IP 地址...
等待机器运行,这可能需要几分钟...
机器正在运行,等待 SSH 可用...
正在检测已创建实例的操作系统...
正在检测供应商...
使用 ubuntu(systemd) 进行配置...
安装 Docker...
正在将证书复制到本地机器目录...
正在将证书复制到远程机器...
在远程守护进程上设置 Docker 配置...
创建机器时出错:运行配置时出错:无法验证 Docker 守护进程是否正在侦听:超过最大重试次数 (10)

docker-machine --version
docker-machine 版本 0.5.3,构建 4d39a66

我上周尝试过同样的尝试,但没有运气,根据我的分析 systemd 失败并且无法重新启动。 任何人都成功解决了这个问题。

我能够通过进入 VirtualBox 控制台并删除对“默认”框的任何引用来解决该问题。 我删除了整个文件夹~/.docker [这样做时要小心,因为你会丢失你创建的所有机器,你可能可以有选择地删除你不想要的机器]。 重新启动计算机 [懒得挑选我的进程]。 有效!

@alycda :在我们找到原因和解决方案之前,您能否重新打开这个问题? 这是“无法验证 Docker 守护进程正在监听”的排名最高的 Google 搜索结果,而且似乎有几个人一直在发生这种情况。

当我用docker-machine stop default停止机器并用docker-machine start default重新启动它而不对系统进行任何其他更改时,经常会发生这种情况。 我经常不得不删除并重新创建机器。

我在 Mac OS 10.13.3 上使用 Docker 和 Parallels Desktop Pro。 VMWare Fusion和 VirtualBox

$ docker-machine ls
NAME      ACTIVE   DRIVER      STATE     URL                       SWARM   DOCKER    ERRORS
default   -        parallels   Running   tcp://10.211.55.11:2376           Unknown   Unable to query docker version: Cannot connect to the docker engine endpoint

$ docker --version && docker-compose --version && docker-machine --version
Docker version 18.02.0-ce, build fc4de44
docker-compose version 1.19.0, build unknown
docker-machine version 0.14.0, build 89b8332

@jpae :你有多确定 VPN 正在影响你坏掉的 Docker 机器?

@jimzucker @dideler @alycda我在这里遇到了同样的问题。 它似乎是在我更新 docker 和 docker-machine 之后开始的。

它发生在我身上而没有更新任何 Docker 或操作系统。

这不再是任何问题。 多月前的先前版本已解决问题

这不再是任何问题。 多月前的先前版本已解决问题

您指的是问题的哪个具体原因?

我在评论中提到的最新 Docker 版本是否已解决?

我仍然在 Docker 版本 18.03.1-ce 上遇到这个问题。 我正在尝试从 IBM 运行 Docket for Planning Analytics Workspace。 记事本机在这一步反复失败 在远程守护进程上设置 Docker 配置.... 没有给出任何解释。

我仍然有同样的问题

奇怪的是这个问题显示为关闭但仍有消息。 无论如何,我不知道您正在工作的上下文。如果是 Planning Analytics,我建议您卸载所有内容。 将至少 16GB 的 RAM 放入包装盒中,然后重试。 它可能会起作用。 用于规划分析的 Docker 需要大量 RAM!

我们也在 1 月 22 日开始遇到这个问题。 也许与@duxbuse有关? 或者你以前有过这个问题吗?

此页面是否有帮助?
0 / 5 - 0 等级