Pārlūkot izejas kodu

Fix corner case when there's no container to attach to

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 2 gadi atpakaļ
vecāks
revīzija
8f991a20db
2 mainītis faili ar 8 papildinājumiem un 1 dzēšanām
  1. 3 0
      pkg/compose/attach.go
  2. 5 1
      pkg/compose/start.go

+ 3 - 0
pkg/compose/attach.go

@@ -37,6 +37,9 @@ func (s *composeService) attach(ctx context.Context, project *types.Project, lis
 	if err != nil {
 		return nil, err
 	}
+	if len(containers) == 0 {
+		return containers, nil
+	}
 
 	containers.sorted() // This enforce predictable colors assignment
 

+ 5 - 1
pkg/compose/start.go

@@ -110,8 +110,12 @@ func getDependencyCondition(service types.ServiceConfig, project *types.Project)
 type containerWatchFn func(container moby.Container) error
 
 // watchContainers uses engine events to capture container start/die and notify ContainerEventListener
-func (s *composeService) watchContainers(ctx context.Context, projectName string, services, required []string,
+func (s *composeService) watchContainers(ctx context.Context, //nolint:gocyclo
+	projectName string, services, required []string,
 	listener api.ContainerEventListener, containers Containers, onStart containerWatchFn) error {
+	if len(containers) == 0 {
+		return nil
+	}
 	if len(required) == 0 {
 		required = services
 	}