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

Method ensureNetwork

pkg/compose/create.go:1319–1331  ·  view source on GitHub ↗
(ctx context.Context, project *types.Project, name string, n *types.NetworkConfig)

Source from the content-addressed store, hash-verified

1317}
1318
1319func (s *composeService) ensureNetwork(ctx context.Context, project *types.Project, name string, n *types.NetworkConfig) (string, error) {
1320 if n.External {
1321 return s.resolveExternalNetwork(ctx, n)
1322 }
1323
1324 id, err := s.resolveOrCreateNetwork(ctx, project, name, n)
1325 if errdefs.IsConflict(err) {
1326 // Maybe another execution of `docker compose up|run` created same network
1327 // let's retry once
1328 return s.resolveOrCreateNetwork(ctx, project, name, n)
1329 }
1330 return id, err
1331}
1332
1333func (s *composeService) resolveOrCreateNetwork(ctx context.Context, project *types.Project, name string, n *types.NetworkConfig) (string, error) { //nolint:gocyclo
1334 // This is containers that could be left after a diverged network was removed

Callers 2

ensureNetworksMethod · 0.95
execCreateNetworkMethod · 0.80

Calls 2

Tested by

no test coverage detected