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

Method prepareShellOut

pkg/compose/shellout.go:37–49  ·  pkg/compose/shellout.go::composeService.prepareShellOut

prepareShellOut prepare a shell-out command to be ran by Compose

(gctx context.Context, env types.Mapping, cmd *exec.Cmd)

Source from the content-addressed store, hash-verified

35
36// prepareShellOut prepare a shell-out command to be ran by Compose
37func (s *composeService) prepareShellOut(gctx context.Context, env types.Mapping, cmd *exec.Cmd) error {
38 env = env.Clone()
39 // remove DOCKER_CLI_PLUGIN... variable so a docker-cli plugin will detect it run standalone
40 delete(env, metadata.ReexecEnvvar)
41
42 // propagate opentelemetry context to child process, see https://github.com/open-telemetry/oteps/blob/main/text/0258-env-context-baggage-carriers.md
43 carrier := propagation.MapCarrier{}
44 otel.GetTextMapPropagator().Inject(gctx, &carrier)
45 env.Merge(types.Mapping(carrier))
46
47 cmd.Env = env.Values()
48 return nil
49}
50
51// propagateDockerEndpoint produces DOCKER_* env vars for a child CLI plugin to target the same docker endpoint
52// `cleanup` func MUST be called after child process completion to enforce removal of cert files

Callers 4

newModelAPIMethod · 0.95
setupPluginCommandMethod · 0.95
getPluginMetadataMethod · 0.95
doBuildBakeMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected