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

Method exec

pkg/compose/watch.go:610–633  ·  pkg/compose/watch.go::composeService.exec
(ctx context.Context, project *types.Project, serviceName string, x types.ServiceHook, eg *errgroup.Group)

Source from the content-addressed store, hash-verified

608}
609
610func (s *composeService) exec(ctx context.Context, project *types.Project, serviceName string, x types.ServiceHook, eg *errgroup.Group) error {
611 containers, err := s.getContainers(ctx, project.Name, oneOffExclude, false, serviceName)
612 if err != nil {
613 return err
614 }
615 for _, c := range containers {
616 eg.Go(func() error {
617 exec := ccli.NewExecOptions()
618 exec.User = x.User
619 exec.Privileged = x.Privileged
620 exec.Command = x.Command
621 exec.Workdir = x.WorkingDir
622 exec.DetachKeys = s.configFile().DetachKeys
623 for _, v := range x.Environment.ToMapping().Values() {
624 err := exec.Env.Set(v)
625 if err != nil {
626 return err
627 }
628 }
629 return ccli.RunExec(ctx, s.dockerCli, c.ID, exec)
630 })
631 }
632 return nil
633}
634
635func (s *composeService) rebuild(ctx context.Context, project *types.Project, services []string, options api.WatchOptions) error {
636 options.LogTo.Log(api.WatchLogger, fmt.Sprintf("Rebuilding service(s) %q after changes were detected...", services))

Callers 1

handleWatchBatchMethod · 0.95

Calls 2

getContainersMethod · 0.95
configFileMethod · 0.95

Tested by

no test coverage detected