(ctx context.Context, project *types.Project, name string, n *types.NetworkConfig)
| 1317 | } |
| 1318 | |
| 1319 | func (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 | |
| 1333 | func (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 |
no test coverage detected