If docker /info does not include ServerVersion, fallback to /version
This commit is contained in:
parent
b553e02476
commit
b768a9d1dc
@ -439,10 +439,19 @@ func ValidateInfo() (*docker.DockerInfo, error) {
|
|||||||
return nil, fmt.Errorf("failed to detect Docker info: %v", err)
|
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)
|
version, err := parseDockerVersion(dockerInfo.ServerVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if version[0] < 1 {
|
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)
|
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)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user