@@ -157,6 +157,7 @@ func (c *convergence) ensureService(ctx context.Context, project *types.Project,
157157 for i , container := range containers {
158158 if i > expected {
159159 // Scale Down
160+ container := container
160161 eg .Go (func () error {
161162 err := c .service .apiClient .ContainerStop (ctx , container .ID , timeout )
162163 if err != nil {
@@ -178,7 +179,7 @@ func (c *convergence) ensureService(ctx context.Context, project *types.Project,
178179 name := getContainerProgressName (container )
179180 diverged := container .Labels [api .ConfigHashLabel ] != configHash
180181 if diverged || recreate == api .RecreateForce || service .Extensions [extLifecycle ] == forceRecreate {
181- i := i
182+ i , container := i , container
182183 eg .Go (func () error {
183184 recreated , err := c .service .recreateContainer (ctx , project , service , container , inherit , timeout )
184185 updated [i ] = recreated
@@ -197,6 +198,7 @@ func (c *convergence) ensureService(ctx context.Context, project *types.Project,
197198 case ContainerExited :
198199 w .Event (progress .CreatedEvent (name ))
199200 default :
201+ container := container
200202 eg .Go (func () error {
201203 return c .service .startContainer (ctx , container )
202204 })
@@ -212,6 +214,7 @@ func (c *convergence) ensureService(ctx context.Context, project *types.Project,
212214 // Scale UP
213215 number := next + i
214216 name := getContainerName (project .Name , service , number )
217+ i := i
215218 eg .Go (func () error {
216219 container , err := c .service .createContainer (ctx , project , service , name , number , false , true )
217220 updated [actual + i - 1 ] = container
@@ -542,11 +545,11 @@ func (s *composeService) startService(ctx context.Context, project *types.Projec
542545
543546 w := progress .ContextWriter (ctx )
544547 eg , ctx := errgroup .WithContext (ctx )
545- for _ , c := range containers {
546- container := c
548+ for _ , container := range containers {
547549 if container .State == ContainerRunning {
548550 continue
549551 }
552+ container := container
550553 eg .Go (func () error {
551554 eventName := getContainerProgressName (container )
552555 w .Event (progress .StartingEvent (eventName ))
0 commit comments