diff --git a/api/docker/client.go b/api/docker/client.go index 5b55e44dc..909fbe708 100644 --- a/api/docker/client.go +++ b/api/docker/client.go @@ -59,6 +59,19 @@ func createLocalClient(endpoint *portainer.Endpoint) (*client.Client, error) { ) } +func CreateClientFromEnv() (*client.Client, error) { + return client.NewClientWithOpts( + client.FromEnv, + client.WithVersion(dockerClientVersion), + ) +} + +func CreateSimpleClient() (*client.Client, error) { + return client.NewClientWithOpts( + client.WithVersion(dockerClientVersion), + ) +} + func createTCPClient(endpoint *portainer.Endpoint, timeout *time.Duration) (*client.Client, error) { httpCli, err := httpClient(endpoint, timeout) if err != nil { diff --git a/api/internal/upgrade/upgrade.go b/api/internal/upgrade/upgrade.go index 26d18aca9..73283972d 100644 --- a/api/internal/upgrade/upgrade.go +++ b/api/internal/upgrade/upgrade.go @@ -11,10 +11,10 @@ import ( "github.com/cbroglie/mustache" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/client" "github.com/pkg/errors" libstack "github.com/portainer/docker-compose-wrapper" portainer "github.com/portainer/portainer/api" + "github.com/portainer/portainer/api/docker" "github.com/portainer/portainer/api/filesystem" "github.com/portainer/portainer/api/platform" "github.com/rs/zerolog/log" @@ -150,7 +150,7 @@ func (service *service) upgradeDocker(licenseKey, version, envType string) error } func (service *service) checkImage(ctx context.Context, image string, skipPullImage bool) error { - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.CreateClientFromEnv() if err != nil { return errors.Wrap(err, "failed to create docker client") } diff --git a/api/platform/platform.go b/api/platform/platform.go index 234b19e15..8adee3cb3 100644 --- a/api/platform/platform.go +++ b/api/platform/platform.go @@ -6,6 +6,7 @@ import ( "github.com/docker/docker/client" "github.com/pkg/errors" + "github.com/portainer/portainer/api/docker" "github.com/rs/zerolog/log" ) @@ -53,7 +54,7 @@ func DetermineContainerPlatform() (ContainerPlatform, error) { return "", nil } - dockerCli, err := client.NewClientWithOpts() + dockerCli, err := docker.CreateSimpleClient() if err != nil { return "", errors.WithMessage(err, "failed to create docker client") }