diff --git a/local/compose.go b/local/compose.go index d8505c43f..2df322b64 100644 --- a/local/compose.go +++ b/local/compose.go @@ -59,7 +59,7 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, detach return err } for k, network := range project.Networks { - if !network.External.External && network.Name != "" { + if !network.External.External && network.Name == k { network.Name = fmt.Sprintf("%s_%s", project.Name, k) project.Networks[k] = network } @@ -559,9 +559,8 @@ func (s *composeService) ensureNetwork(ctx context.Context, n types.NetworkConfi if err != nil { if errdefs.IsNotFound(err) { if n.External.External { - return fmt.Errorf("Network %s declared as external, but could not be found", n.Name) + return fmt.Errorf("network %s declared as external, but could not be found", n.Name) } - createOpts := moby.NetworkCreate{ // TODO NameSpace Labels Labels: n.Labels, diff --git a/local/convergence.go b/local/convergence.go index 9e3532219..94c768df7 100644 --- a/local/convergence.go +++ b/local/convergence.go @@ -240,9 +240,9 @@ func (s *composeService) runContainer(ctx context.Context, project *types.Projec return err } id := created.ID - for net := range service.Networks { - name := fmt.Sprintf("%s_%s", project.Name, net) - err = s.connectContainerToNetwork(ctx, id, service.Name, name) + for netName := range service.Networks { + network := project.Networks[netName] + err = s.connectContainerToNetwork(ctx, id, service.Name, network.Name) if err != nil { return err }