MCPcopy Create free account
hub / github.com/docker/cli / LoadVolumes

Function LoadVolumes

cli/compose/loader/loader.go:576–609  ·  view source on GitHub ↗

LoadVolumes produces a VolumeConfig map from a compose file Dict the source Dict is not validated if directly used. Use Load() to enable validation

(source map[string]any, version string)

Source from the content-addressed store, hash-verified

574// LoadVolumes produces a VolumeConfig map from a compose file Dict
575// the source Dict is not validated if directly used. Use Load() to enable validation
576func LoadVolumes(source map[string]any, version string) (map[string]types.VolumeConfig, error) {
577 volumes := make(map[string]types.VolumeConfig)
578 if err := Transform(source, &volumes); err != nil {
579 return volumes, err
580 }
581
582 for name, volume := range volumes {
583 if !volume.External.External {
584 continue
585 }
586 switch {
587 case volume.Driver != "":
588 return nil, externalVolumeError(name, "driver")
589 case len(volume.DriverOpts) > 0:
590 return nil, externalVolumeError(name, "driver_opts")
591 case len(volume.Labels) > 0:
592 return nil, externalVolumeError(name, "labels")
593 case volume.External.Name != "":
594 if volume.Name != "" {
595 return nil, fmt.Errorf("volume %s: volume.external.name and volume.name conflict; only use volume.name", name)
596 }
597 if versions.GreaterThanOrEqualTo(version, "3.4") {
598 logrus.Warnf("volume %s: volume.external.name is deprecated in favor of volume.name", name)
599 }
600 volume.Name = volume.External.Name
601 volume.External.Name = ""
602 case volume.Name == "":
603 volume.Name = name
604 }
605 volume.Extras = loadExtras(name, source)
606 volumes[name] = volume
607 }
608 return volumes, nil
609}
610
611// LoadSecrets produces a SecretConfig map from a compose file Dict
612// the source Dict is not validated if directly used. Use Load() to enable validation

Calls 3

TransformFunction · 0.85
externalVolumeErrorFunction · 0.85
loadExtrasFunction · 0.85

Used in the wild real call sites across dependent graphs

searching dependent graphs…