From 62b45f08278ef283b91cc91761a25f5ceca16136 Mon Sep 17 00:00:00 2001
From: Victor Vieux <victor.vieux@dotcloud.com>
Date: Thu, 15 Aug 2013 13:44:11 +0000
Subject: [PATCH] fix can't connect message  with socket

---
 commands.go | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/commands.go b/commands.go
index 056bcbfb56..5d8eb90b5d 100644
--- a/commands.go
+++ b/commands.go
@@ -1548,6 +1548,9 @@ func (cli *DockerCli) call(method, path string, data interface{}) ([]byte, int,
 	}
 	dial, err := net.Dial(cli.proto, cli.addr)
 	if err != nil {
+		if strings.Contains(err.Error(), "connection refused") {
+			return nil, -1, fmt.Errorf("Can't connect to docker daemon. Is 'docker -d' running on this host?")
+		}
 		return nil, -1, err
 	}
 	clientconn := httputil.NewClientConn(dial, nil)
@@ -1588,6 +1591,9 @@ func (cli *DockerCli) stream(method, path string, in io.Reader, out io.Writer) e
 	}
 	dial, err := net.Dial(cli.proto, cli.addr)
 	if err != nil {
+		if strings.Contains(err.Error(), "connection refused") {
+			return fmt.Errorf("Can't connect to docker daemon. Is 'docker -d' running on this host?")
+		}
 		return err
 	}
 	clientconn := httputil.NewClientConn(dial, nil)
@@ -1634,6 +1640,9 @@ func (cli *DockerCli) hijack(method, path string, setRawTerminal bool, in io.Rea
 
 	dial, err := net.Dial(cli.proto, cli.addr)
 	if err != nil {
+		if strings.Contains(err.Error(), "connection refused") {
+			return fmt.Errorf("Can't connect to docker daemon. Is 'docker -d' running on this host?")
+		}
 		return err
 	}
 	clientconn := httputil.NewClientConn(dial, nil)