MCPcopy
hub / github.com/docker/compose / stopAndRemoveContainer

Method stopAndRemoveContainer

pkg/compose/down.go:346–367  ·  view source on GitHub ↗
(ctx context.Context, ctr containerType.Summary, service *types.ServiceConfig, timeout *time.Duration, volumes bool)

Source from the content-addressed store, hash-verified

344}
345
346func (s *composeService) stopAndRemoveContainer(ctx context.Context, ctr containerType.Summary, service *types.ServiceConfig, timeout *time.Duration, volumes bool) error {
347 eventName := getContainerProgressName(ctr)
348 err := s.stopContainer(ctx, service, ctr, timeout, nil)
349 if errdefs.IsNotFound(err) {
350 s.events.On(removedEvent(eventName))
351 return nil
352 }
353 if err != nil {
354 return err
355 }
356 s.events.On(removingEvent(eventName))
357 _, err = s.apiClient().ContainerRemove(ctx, ctr.ID, client.ContainerRemoveOptions{
358 Force: true,
359 RemoveVolumes: volumes,
360 })
361 if err != nil && !errdefs.IsNotFound(err) && !errdefs.IsConflict(err) {
362 s.events.On(errorEvent(eventName, "Error while Removing"))
363 return err
364 }
365 s.events.On(removedEvent(eventName))
366 return nil
367}
368
369func (s *composeService) getProjectWithResources(ctx context.Context, containers Containers, projectName string) (*types.Project, error) {
370 containers = containers.filter(isNotOneOff)

Callers 1

removeContainersMethod · 0.95

Calls 8

stopContainerMethod · 0.95
apiClientMethod · 0.95
getContainerProgressNameFunction · 0.85
removedEventFunction · 0.85
removingEventFunction · 0.85
errorEventFunction · 0.85
OnMethod · 0.65
ContainerRemoveMethod · 0.45

Tested by

no test coverage detected