// NewDockerGoClient creates a new DockerGoClient func NewDockerGoClient(clientFactory dockerclient.Factory, authType string, authData *config.SensitiveRawMessage, acceptInsecureCert bool) (DockerClient, error) { endpoint := utils.DefaultIfBlank(os.Getenv(DOCKER_ENDPOINT_ENV_VARIABLE), DOCKER_DEFAULT_ENDPOINT) if clientFactory == nil { clientFactory = dockerclient.NewFactory(endpoint) } client, err := clientFactory.GetDefaultClient() if err != nil { log.Error("Unable to connect to docker daemon . Ensure docker is running", "endpoint", endpoint, "err", err) return nil, err } // Even if we have a dockerclient, the daemon might not be running. Ping it // to ensure it's up. err = client.Ping() if err != nil { log.Error("Unable to ping docker daemon. Ensure docker is running", "endpoint", endpoint, "err", err) return nil, err } return &dockerGoClient{ clientFactory: clientFactory, auth: dockerauth.NewDockerAuthProvider(authType, authData.Contents()), ecrClientFactory: ecr.NewECRFactory(acceptInsecureCert), }, nil }
// NewDockerGoClient creates a new DockerGoClient func NewDockerGoClient(clientFactory dockerclient.Factory, acceptInsecureCert bool, cfg *config.Config) (DockerClient, error) { client, err := clientFactory.GetDefaultClient() if err != nil { log.Error("Unable to connect to docker daemon. Ensure docker is running.", "err", err) return nil, err } // Even if we have a dockerclient, the daemon might not be running. Ping it // to ensure it's up. err = client.Ping() if err != nil { log.Error("Unable to ping docker daemon. Ensure docker is running.", "err", err) return nil, err } return &dockerGoClient{ clientFactory: clientFactory, auth: dockerauth.NewDockerAuthProvider(cfg.EngineAuthType, cfg.EngineAuthData.Contents()), ecrClientFactory: ecr.NewECRFactory(acceptInsecureCert), config: cfg, }, nil }