{"record":{"id":"853deb6ae9295946","repo":"GoogleContainerTools/skaffold","slug":"getting-docker-client-w","errorCode":null,"errorMessage":"getting docker client: %w","messagePattern":"getting docker client: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/docker/parse.go","lineNumber":465,"sourceCode":"\n// unquote remove single quote/double quote pairs around a string value.\n// It looks like FROM \"scratch\" and FROM 'scratch' and FROM \"\"\"scratch\"\"\"...\n// are valid forms of FROM scratch.\n// Quotes are also accepted on tags, e.g. golang:\"1.15\".\nfunc unquote(v string) string {\n\tunquoted := strings.ReplaceAll(v, \"\\\"\", \"\")\n\tif unquoted != v {\n\t\treturn unquoted\n\t}\n\n\tunquoted = strings.ReplaceAll(v, \"'\", \"\")\n\treturn unquoted\n}\n\nfunc retrieveImage(ctx context.Context, image string, cfg Config) (*v1.ConfigFile, error) {\n\tlocalDaemon, err := NewAPIClient(ctx, cfg)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"getting docker client: %w\", err)\n\t}\n\n\treturn localDaemon.ConfigFile(context.Background(), image)\n}\n\nfunc hasMultiStageFlag(flags []string) bool {\n\tfor _, f := range flags {\n\t\tif strings.HasPrefix(f, \"--from=\") {\n\t\t\treturn true\n\t\t}\n\t}\n\treturn false\n}\n\n// resolveDir determines the resulting directory as if a change-dir to targetDir was executed in cwd.\nfunc resolveDir(cwd, targetDir string) string {\n\tif path.IsAbs(targetDir) {\n\t\treturn path.Clean(targetDir)","sourceCodeStart":447,"sourceCodeEnd":483,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/docker/parse.go#L447-L483","documentation":"Fires in retrieveImage when a Docker API client cannot be created (NewAPIClient fails) while trying to inspect an image for dependency analysis. The configured docker endpoint is unreachable or invalid — daemon not running, bad DOCKER_HOST, or socket access denied.","triggerScenarios":"Thrown at pkg/skaffold/docker/parse.go:465 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the Docker daemon is running (`docker ps`)","Check DOCKER_HOST and docker context settings point to a valid endpoint","Fix socket permissions/group membership if access is denied"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}