GoogleContainerTools/skaffold · error

retrieving image config for %q: %w

Error message

retrieving image config for %q: %w

What it means

Fires in RetrieveImageConfiguration when fetching the container/image configuration for the named artifact fails — after the docker client is obtained, the lookup against the local daemon (and possibly remote registry) errored. Wraps the underlying registry/daemon retrieval error.

Source

Thrown at pkg/skaffold/debug/apply_transforms.go:69

	return nil
}

// RetrieveImageConfiguration retrieves the image container configuration for
// the given build artifact
func RetrieveImageConfiguration(ctx context.Context, artifact *graph.Artifact, insecureRegistries map[string]bool) (ImageConfiguration, error) {
	// TODO: use the proper RunContext
	apiClient, err := docker.NewAPIClient(ctx, &runcontext.RunContext{
		InsecureRegistries: insecureRegistries,
	})
	if err != nil {
		return ImageConfiguration{}, fmt.Errorf("could not connect to local docker daemon: %w", err)
	}

	// the apiClient will go to the remote registry if local docker daemon is not available
	manifest, err := apiClient.ConfigFile(ctx, artifact.Tag)
	if err != nil {
		log.Entry(ctx).Debugf("Error retrieving image manifest for %v: %v", artifact.Tag, err)
		return ImageConfiguration{}, fmt.Errorf("retrieving image config for %q: %w", artifact.Tag, err)
	}

	config := manifest.Config
	log.Entry(ctx).Debugf("Retrieved local image configuration for %v: %v", artifact.Tag, config)
	// need to duplicate slices as apiClient caches requests
	return ImageConfiguration{
		Artifact:    artifact.ImageName,
		RuntimeType: types.ToRuntime(artifact.RuntimeType),
		Author:      manifest.Author,
		Env:         envAsMap(config.Env),
		Entrypoint:  dupArray(config.Entrypoint),
		Arguments:   dupArray(config.Cmd),
		Labels:      dupMap(config.Labels),
		WorkingDir:  config.WorkingDir,
	}, nil
}

// envAsMap turns an array of environment "NAME=value" strings into a map

View on GitHub (pinned to a1189de023)

Solutions

  1. Verify the image exists: `docker images` or check the remote registry
  2. Check registry authentication (docker login) if the image lives in a private registry
  3. If a proxy/firewall blocks registry access, configure it or pull the image locally first
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at pkg/skaffold/debug/apply_transforms.go:69 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05). Data as JSON: /api/errors/666987ab21d3bbc7. Report an issue: GitHub.