【发布时间】:2016-07-22 07:02:31
【问题描述】:
当我尝试使用 Docker 创建覆盖网络时,出现以下错误:
docker@boot2docker:/vagrant$ docker network create --driver overlay somenetwork
Error response from daemon: failed to parse pool request for address space
"GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault
(most likely the backing datastore is not configured)`
我在 GitHub 上找到了这个错误报告:https://github.com/docker/docker/issues/18770
我检查了我的 Boot2Docker 镜像,它使用的是 sysvinit 而不是 systemd,所以这应该不是问题,而且内核版本似乎也不错:
docker@boot2docker:/vagrant$ uname -r
4.1.19-boot2docker
这是否可能是对覆盖网络概念的滥用,我试图仅在一台主机上运行它......?也许这会导致那个奇怪的错误?
更新: 我认为对本地运行的 docker 守护进程执行网络创建命令是一个错误。我认为我应该改为对我的 swarm 管理器执行此操作 - 在这种情况下,错误消息是不同的:
docker@boot2docker:~$ docker -H tcp://0.0.0.0:3375 network create --driver overlay network
Error response from daemon: No healthy node available in the cluster
当我检查 swarm 集群的状态时,确实没有节点。也许最初的问题是我的 swarm join 命令不完全正确...?
docker run -d swarm join consul://127.0.0.1:8500/
【问题讨论】:
-
能否请您显示“ps aux | grep docker”的输出。更具体地说:启动守护程序的选项有哪些?
-
嗨 Auzias,我已经检查过了。包括集群存储和集群选项:--cluster-store consul://127.0.0.1:8500 --cluster eth0:2375 检查我的更新。 :)
-
您确定
--cluster选项正确吗?不应该是--cluster-advertise吗? -
如果未在 docker 中配置 --cluster-store 和 --cluster-advertise 选项,您会收到该错误消息守护进程。您可以检查;运行 docker info,如果 docker 守护进程知道这两个选项,则会列出这两个选项。如果没有,您还没有成功设置这些选项。
标签: networking docker docker-compose boot2docker