如果不使用docker机器命令,如何在docker中创建覆盖网络

如果不使用docker机器命令,如何在docker中创建覆盖网络,docker,docker-machine,docker-swarm,Docker,Docker Machine,Docker Swarm,Docker文档解释了如何使用命令创建覆盖网络 eval $(docker-machine -swarm master) docker network create -d overlay test-overlay Error response from daemon: 500 Internal Server Error: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cann

Docker文档解释了如何使用命令创建覆盖网络

eval $(docker-machine -swarm master)
docker network create -d overlay test-overlay
Error response from daemon: 500 Internal Server Error: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault (most likely the backing datastore is not configured)
问题是我没有使用docker机器来设置集群。当我尝试创建覆盖网络时,我得到一个错误

在我的swarm主机上执行的命令(在端口4000上侦听)

执行命令时得到的异常

eval $(docker-machine -swarm master)
docker network create -d overlay test-overlay
Error response from daemon: 500 Internal Server Error: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault (most likely the backing datastore is not configured)

正如错误所说,您需要一个备份数据存储

  • 您至少需要设置一个键值存储,例如
    concur
    etcd
  • 在使用
    consul
    的情况下,您需要使用
    --集群存储consul://:8500--集群发布eth0:4000
    运行docker守护程序。我假设您使用
    eth0
    作为docker守护程序的网络接口