From 535ac82d6f8b3a2874203d7d3237e304f59cd890 Mon Sep 17 00:00:00 2001 From: Martti Tamm Date: Tue, 5 Mar 2024 10:07:50 +0200 Subject: [PATCH] Update docker client API version negotiation --- tests/funnel_utils.go | 2 +- util/dockerutil/docker.go | 17 ++--------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/tests/funnel_utils.go b/tests/funnel_utils.go index bdb5d69b..381f5c84 100644 --- a/tests/funnel_utils.go +++ b/tests/funnel_utils.go @@ -409,7 +409,7 @@ func (f *Funnel) StartServerInDocker(containerName, imageName string, extraArgs func (f *Funnel) findTestServerContainers() []string { res := []string{} - containers, err := f.Docker.ContainerList(context.Background(), dockerTypes.ContainerListOptions{}) + containers, err := f.Docker.ContainerList(context.Background(), container.ListOptions{}) if err != nil { panic(err) } diff --git a/util/dockerutil/docker.go b/util/dockerutil/docker.go index 21a46c45..64d8418f 100644 --- a/util/dockerutil/docker.go +++ b/util/dockerutil/docker.go @@ -2,9 +2,7 @@ package dockerutil import ( "context" - "errors" "os" - "regexp" "time" "github.com/docker/docker/client" @@ -24,19 +22,8 @@ func NewDockerClient() (*client.Client, error) { if os.Getenv("DOCKER_API_VERSION") == "" { ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) defer cancel() - - _, err := dclient.ServerVersion(ctx) - if err != nil { - re := regexp.MustCompile(`([0-9\.]+)`) - version := re.FindAllString(err.Error(), -1) - if version == nil { - return nil, errors.New("Can't connect docker client") - } - // Error message example: - // Error getting metadata for container: Error response from daemon: client is newer than server (client API version: 1.26, server API version: 1.24) - os.Setenv("DOCKER_API_VERSION", version[1]) - return NewDockerClient() - } + dclient.NegotiateAPIVersion(ctx) } + return dclient, nil }