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

Method startServiceContainer

pkg/compose/convergence.go:565–587  ·  pkg/compose/convergence.go::composeService.startServiceContainer
(ctx context.Context, project *types.Project, service types.ServiceConfig, ctr container.Summary, listener api.ContainerEventListener)

Source from the content-addressed store, hash-verified

563}
564
565func (s *composeService) startServiceContainer(ctx context.Context, project *types.Project, service types.ServiceConfig, ctr container.Summary, listener api.ContainerEventListener) error {
566 if err := s.injectSecrets(ctx, project, service, ctr.ID); err != nil {
567 return err
568 }
569 if err := s.injectConfigs(ctx, project, service, ctr.ID); err != nil {
570 return err
571 }
572
573 eventName := getContainerProgressName(ctr)
574 s.events.On(newEvent(eventName, api.Working, api.StatusStarting))
575 if _, err := s.apiClient().ContainerStart(ctx, ctr.ID, client.ContainerStartOptions{}); err != nil {
576 return err
577 }
578
579 for _, hook := range service.PostStart {
580 if err := s.runHook(ctx, ctr, service, hook, listener); err != nil {
581 return err
582 }
583 }
584
585 s.events.On(newEvent(eventName, api.Done, api.StatusStarted))
586 return nil
587}
588
589func mergeLabels(ls ...types.Labels) types.Labels {
590 merged := types.Labels{}

Callers 1

startServiceMethod · 0.95

Calls 8

injectSecretsMethod · 0.95
injectConfigsMethod · 0.95
apiClientMethod · 0.95
runHookMethod · 0.95
getContainerProgressNameFunction · 0.85
newEventFunction · 0.85
OnMethod · 0.65
ContainerStartMethod · 0.45

Tested by

no test coverage detected