From b768a9d1dc4e8339e3591c1041a1a876d880a21a Mon Sep 17 00:00:00 2001 From: "Tim St. Clair" Date: Fri, 8 Apr 2016 16:56:17 -0700 Subject: [PATCH] If docker /info does not include ServerVersion, fallback to /version --- container/docker/handler.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/container/docker/handler.go b/container/docker/handler.go index 80a49813..04a4a8dd 100644 --- a/container/docker/handler.go +++ b/container/docker/handler.go @@ -439,10 +439,19 @@ func ValidateInfo() (*docker.DockerInfo, error) { return nil, fmt.Errorf("failed to detect Docker info: %v", err) } + // Fall back to version API if ServerVersion is not set in info. + if dockerInfo.ServerVersion == "" { + version, err := client.Version() + if err != nil { + return nil, fmt.Errorf("unable to get docker version: %v", err) + } + dockerInfo.ServerVersion = version.Get("Version") + } version, err := parseDockerVersion(dockerInfo.ServerVersion) if err != nil { return nil, err } + if version[0] < 1 { return nil, fmt.Errorf("cAdvisor requires docker version %v or above but we have found version %v reported as %q", []int{1, 0, 0}, version, dockerInfo.ServerVersion) }