From a4ef96690efb3302b3c1994e9fb378f2eef87208 Mon Sep 17 00:00:00 2001 From: Paul Bellamy Date: Mon, 30 Nov 2015 16:33:53 +0000 Subject: [PATCH] support alternate DOCKER_HOST settings when launching the plugin --- common/docker/client.go | 18 ++++++++++++++---- prog/plugin/main.go | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/common/docker/client.go b/common/docker/client.go index 0a823690..d2b5dab0 100644 --- a/common/docker/client.go +++ b/common/docker/client.go @@ -30,7 +30,7 @@ func NewClient(apiPath string) (*Client, error) { } client := &Client{dc} - return client, client.checkWorking(apiPath) + return client, client.checkWorking() } func NewVersionedClient(apiPath string, apiVersionString string) (*Client, error) { @@ -43,15 +43,25 @@ func NewVersionedClient(apiPath string, apiVersionString string) (*Client, error } client := &Client{dc} - return client, client.checkWorking(apiPath) + return client, client.checkWorking() } -func (c *Client) checkWorking(apiPath string) error { +func NewVersionedClientFromEnv(apiVersionString string) (*Client, error) { + dc, err := docker.NewVersionedClientFromEnv(apiVersionString) + if err != nil { + return nil, err + } + client := &Client{dc} + + return client, client.checkWorking() +} + +func (c *Client) checkWorking() error { env, err := c.Version() if err != nil { return err } - Log.Infof("[docker] Using Docker API on %s: %v", apiPath, env) + Log.Infof("[docker] Using Docker API on %s: %v", c.Endpoint(), env) return nil } diff --git a/prog/plugin/main.go b/prog/plugin/main.go index 4da4c71e..b9a5a581 100644 --- a/prog/plugin/main.go +++ b/prog/plugin/main.go @@ -49,7 +49,7 @@ func main() { Log.Println("Weave plugin", version, "Command line options:", os.Args[1:]) // API 1.21 is the first version that supports docker network commands - dockerClient, err := docker.NewVersionedClient("unix:///var/run/docker.sock", "1.21") + dockerClient, err := docker.NewVersionedClientFromEnv("1.21") if err != nil { Log.Fatalf("unable to connect to docker: %s", err) }