MCPcopy Index your code
hub / github.com/docker/cli / deployCompose

Function deployCompose

cli/command/stack/deploy_composefile.go:19–74  ·  view source on GitHub ↗
(ctx context.Context, dockerCli command.Cli, opts *deployOptions, config *composetypes.Config)

Source from the content-addressed store, hash-verified

17)
18
19func deployCompose(ctx context.Context, dockerCli command.Cli, opts *deployOptions, config *composetypes.Config) error {
20 if err := checkDaemonIsSwarmManager(ctx, dockerCli); err != nil {
21 return err
22 }
23
24 namespace := convert.NewNamespace(opts.namespace)
25
26 if opts.prune {
27 services := map[string]struct{}{}
28 for _, svc := range config.Services {
29 services[svc.Name] = struct{}{}
30 }
31 pruneServices(ctx, dockerCli, namespace, services)
32 }
33
34 serviceNetworks := getServicesDeclaredNetworks(config.Services)
35 networks, externalNetworks := convert.Networks(namespace, config.Networks, serviceNetworks)
36 if err := validateExternalNetworks(ctx, dockerCli.Client(), externalNetworks); err != nil {
37 return err
38 }
39 if err := createNetworks(ctx, dockerCli, namespace, networks); err != nil {
40 return err
41 }
42
43 secrets, err := convert.Secrets(namespace, config.Secrets)
44 if err != nil {
45 return err
46 }
47 if err := createSecrets(ctx, dockerCli, secrets); err != nil {
48 return err
49 }
50
51 configs, err := convert.Configs(namespace, config.Configs)
52 if err != nil {
53 return err
54 }
55 if err := createConfigs(ctx, dockerCli, configs); err != nil {
56 return err
57 }
58
59 services, err := convert.Services(ctx, namespace, config, dockerCli.Client())
60 if err != nil {
61 return err
62 }
63
64 serviceIDs, err := deployServices(ctx, dockerCli, services, namespace, opts.sendRegistryAuth, opts.resolveImage)
65 if err != nil {
66 return err
67 }
68
69 if opts.detach {
70 return nil
71 }
72
73 return waitOnServices(ctx, dockerCli, serviceIDs, opts.quiet)
74}
75
76func getServicesDeclaredNetworks(serviceConfigs []composetypes.ServiceConfig) map[string]struct{} {

Callers 1

runDeployFunction · 0.85

Calls 14

pruneServicesFunction · 0.85
validateExternalNetworksFunction · 0.85
createNetworksFunction · 0.85
createSecretsFunction · 0.85
createConfigsFunction · 0.85
deployServicesFunction · 0.85
waitOnServicesFunction · 0.85
SecretsMethod · 0.80
ConfigsMethod · 0.80
ServicesMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…