diff --git a/cmd/compose/run.go b/cmd/compose/run.go index 54803d7cf..f17f7238f 100644 --- a/cmd/compose/run.go +++ b/cmd/compose/run.go @@ -245,10 +245,15 @@ func startDependencies(ctx context.Context, backend api.Service, project types.P project.Services = dependencies project.DisabledServices = append(project.DisabledServices, requestedService) - if err := backend.Create(ctx, &project, api.CreateOptions{ + err := backend.Create(ctx, &project, api.CreateOptions{ IgnoreOrphans: ignoreOrphans, - }); err != nil { + }) + if err != nil { return err } - return backend.Start(ctx, project.Name, api.StartOptions{}) + + if len(dependencies) > 0 { + return backend.Start(ctx, project.Name, api.StartOptions{}) + } + return nil } diff --git a/pkg/compose/compose.go b/pkg/compose/compose.go index 7c3c96a2b..58482fd0a 100644 --- a/pkg/compose/compose.go +++ b/pkg/compose/compose.go @@ -100,7 +100,7 @@ func (s *composeService) projectFromName(containers Containers, projectName stri Name: projectName, } if len(containers) == 0 { - return project, errors.New("no such project: " + projectName) + return project, errors.Wrap(api.ErrNotFound, fmt.Sprintf("no container found for project %q", projectName)) } set := map[string]*types.ServiceConfig{} for _, c := range containers {