{"record":{"id":"04c9feedac4c9326","repo":"GoogleContainerTools/skaffold","slug":"docker-compose-not-yet-supported-by-skaffold","errorCode":null,"errorMessage":"docker compose not yet supported by skaffold","messagePattern":"docker compose not yet supported by skaffold","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/skaffold/deploy/docker/deploy.go","lineNumber":174,"sourceCode":"}\n\n// deploy creates a container in the local docker daemon from a build artifact's image.\nfunc (d *Deployer) deploy(ctx context.Context, out io.Writer, artifact graph.Artifact) error {\n\tif !stringslice.Contains(d.cfg.Images, artifact.ImageName) {\n\t\t// TODO(nkubala)[07/20/21]: should we error out in this case?\n\t\tolog.Entry(ctx).Warnf(\"skipping deploy for image %s since it was not built by Skaffold\", artifact.ImageName)\n\t\treturn nil\n\t}\n\tif container, found := d.tracker.ContainerForImage(artifact.ImageName); found {\n\t\tolog.Entry(ctx).Debugf(\"removing old container %s for image %s\", container.ID, artifact.ImageName)\n\t\tif err := d.client.Delete(ctx, out, container.ID); err != nil {\n\t\t\treturn fmt.Errorf(\"failed to remove old container %s for image %s: %w\", container.ID, artifact.ImageName, err)\n\t\t}\n\t\td.portManager.RelinquishPorts(container.Name)\n\t}\n\tif d.cfg.UseCompose {\n\t\t// TODO(nkubala): implement\n\t\treturn fmt.Errorf(\"docker compose not yet supported by skaffold\")\n\t}\n\n\tcontainerCfg, err := d.containerConfigFromImage(ctx, artifact.Tag)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tcontainerName := d.getContainerName(ctx, artifact.ImageName)\n\topts := dockerutil.ContainerCreateOpts{\n\t\tName:            containerName,\n\t\tNetwork:         d.network,\n\t\tContainerConfig: containerCfg,\n\t}\n\n\tvar debugBindings network.PortMap\n\tif d.debugger != nil {\n\t\tdebugBindings, err = d.setupDebugging(ctx, out, artifact, containerCfg)\n\t\tif err != nil {","sourceCodeStart":156,"sourceCodeEnd":192,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/deploy/docker/deploy.go#L156-L192","documentation":"The Docker deployer does not yet support `docker compose` deployments. If the deployer config sets UseCompose, `deploy` short-circuits and returns this explicit not-implemented error before building the container config.","triggerScenarios":"Setting the docker deployer option that enables compose (cfg.UseCompose, e.g. via compose-related skaffold.yaml configuration) and running `skaffold deploy/run/dev`.","commonSituations":"User expects compose-file-based deploys to work; a skaffold feature flag or config field was enabled despite the feature being unimplemented (the source has a TODO).","solutions":["Remove the compose option from the docker deploy configuration and use standard per-image Docker deploys","Deploy compose files directly with `docker compose up` outside skaffold, or use a different deployer (kustomize/helm for k8s)","Upgrade skaffold and check whether compose support has since been implemented","Track/implement the feature locally if you own the fork (the code marks it TODO)"],"exampleFix":"// before (skaffold.yaml)\ndeploy:\n  docker:\n    useCompose: true\n\n// after\ndeploy:\n  docker:\n    useCompose: false\n    images: [\"my-image\"]","handlingStrategy":"validation","validationCode":"if cfg.Deploy.Docker != nil && cfg.Deploy.Docker.UseCompose {\n    return errors.New(\"docker compose deploys are unsupported by skaffold; disable useCompose\")\n}\n","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Do not enable compose options in the docker deployer until support is implemented","Use plain Docker image deploys or a k8s deployer instead","Check skaffold release notes/issue tracker for compose support status"],"tags":["docker","compose","unsupported-feature"],"backgroundTag":"feature-not-implemented","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"}