Pārlūkot izejas kodu

improve error of `docker network create -d overlay` on non-Swarm node

before: Error response from daemon: datastore for scope "global" is not initialized
after: Error response from daemon: This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Akihiro Suda 8 gadi atpakaļ
vecāks
revīzija
9c77a4c297
1 mainītis faili ar 3 papildinājumiem un 0 dzēšanām
  1. 3 0
      daemon/network.go

+ 3 - 0
daemon/network.go

@@ -335,6 +335,9 @@ func (daemon *Daemon) createNetwork(create types.NetworkCreateRequest, id string
 
 
 	n, err := c.NewNetwork(driver, create.Name, id, nwOptions...)
 	n, err := c.NewNetwork(driver, create.Name, id, nwOptions...)
 	if err != nil {
 	if err != nil {
+		if _, ok := err.(libnetwork.ErrDataStoreNotInitialized); ok {
+			return nil, errors.New("This node is not a swarm manager. Use \"docker swarm init\" or \"docker swarm join\" to connect this node to swarm and try again.")
+		}
 		return nil, err
 		return nil, err
 	}
 	}