|
|
@@ -34,6 +34,7 @@ import (
|
|
|
|
|
|
func (s *composeService) Down(ctx context.Context, projectName string, options compose.DownOptions) error {
|
|
|
w := progress.ContextWriter(ctx)
|
|
|
+ resourceToRemove := false
|
|
|
|
|
|
if options.Project == nil {
|
|
|
project, err := s.projectFromContainerLabels(ctx, projectName)
|
|
|
@@ -51,6 +52,9 @@ func (s *composeService) Down(ctx context.Context, projectName string, options c
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
+ if len(containers) > 0 {
|
|
|
+ resourceToRemove = true
|
|
|
+ }
|
|
|
|
|
|
err = InReverseDependencyOrder(ctx, options.Project, func(c context.Context, service types.ServiceConfig) error {
|
|
|
serviceContainers, others := containers.split(isService(service.Name))
|
|
|
@@ -80,12 +84,16 @@ func (s *composeService) Down(ctx context.Context, projectName string, options c
|
|
|
|
|
|
eg, _ := errgroup.WithContext(ctx)
|
|
|
for _, n := range networks {
|
|
|
+ resourceToRemove = true
|
|
|
networkID := n.ID
|
|
|
networkName := n.Name
|
|
|
eg.Go(func() error {
|
|
|
return s.ensureNetworkDown(ctx, networkID, networkName)
|
|
|
})
|
|
|
}
|
|
|
+ if !resourceToRemove {
|
|
|
+ w.Event(progress.NewEvent(projectName, progress.Done, "Warning: No resource found to remove"))
|
|
|
+ }
|
|
|
return eg.Wait()
|
|
|
}
|
|
|
|