@@ -525,7 +525,7 @@ func defaultNetworkSettings(project *types.Project,
525525 }
526526
527527 if len (project .Networks ) == 0 {
528- return "none" , nil , nil
528+ return network . NetworkNone , nil , nil
529529 }
530530
531531 if versions .LessThan (version , APIVersion149 ) {
@@ -536,43 +536,42 @@ func defaultNetworkSettings(project *types.Project,
536536 }
537537 }
538538
539- var primaryNetworkKey string
540- if len ( service . Networks ) > 0 {
541- primaryNetworkKey = service . NetworksByPriority ()[ 0 ]
542- } else {
543- primaryNetworkKey = "default"
539+ serviceNetworks := service . NetworksByPriority ()
540+ primaryNetworkKey := "default"
541+ if len ( serviceNetworks ) > 0 {
542+ primaryNetworkKey = serviceNetworks [ 0 ]
543+ serviceNetworks = serviceNetworks [ 1 :]
544544 }
545- primaryNetworkMobyNetworkName := project . Networks [ primaryNetworkKey ]. Name
545+
546546 primaryNetworkEndpoint , err := createEndpointSettings (project , service , serviceIndex , primaryNetworkKey , links , useNetworkAliases )
547547 if err != nil {
548548 return "" , nil , err
549549 }
550+ if primaryNetworkEndpoint .MacAddress .String () == "" {
551+ primaryNetworkEndpoint .MacAddress , err = parseMACAddr (service .MacAddress )
552+ if err != nil {
553+ return "" , nil , err
554+ }
555+ }
550556
551- endpointsConfig := map [string ]* network.EndpointSettings {}
557+ primaryNetworkMobyNetworkName := project .Networks [primaryNetworkKey ].Name
558+ endpointsConfig := map [string ]* network.EndpointSettings {
559+ primaryNetworkMobyNetworkName : primaryNetworkEndpoint ,
560+ }
552561
553562 // Starting from API version 1.44, the Engine will take several EndpointsConfigs
554563 // so we can pass all the extra networks we want the container to be connected to
555564 // in the network configuration instead of connecting the container to each extra
556565 // network individually after creation.
557- if len (service .Networks ) > 1 {
558- serviceNetworks := service .NetworksByPriority ()
559- for _ , networkKey := range serviceNetworks [1 :] {
560- mobyNetworkName := project .Networks [networkKey ].Name
561- epSettings , err := createEndpointSettings (project , service , serviceIndex , networkKey , links , useNetworkAliases )
562- if err != nil {
563- return "" , nil , err
564- }
565- endpointsConfig [mobyNetworkName ] = epSettings
566- }
567- }
568- if primaryNetworkEndpoint .MacAddress .String () == "" {
569- primaryNetworkEndpoint .MacAddress , err = parseMACAddr (service .MacAddress )
566+ for _ , networkKey := range serviceNetworks {
567+ epSettings , err := createEndpointSettings (project , service , serviceIndex , networkKey , links , useNetworkAliases )
570568 if err != nil {
571569 return "" , nil , err
572570 }
571+ mobyNetworkName := project .Networks [networkKey ].Name
572+ endpointsConfig [mobyNetworkName ] = epSettings
573573 }
574574
575- endpointsConfig [primaryNetworkMobyNetworkName ] = primaryNetworkEndpoint
576575 networkConfig := & network.NetworkingConfig {
577576 EndpointsConfig : endpointsConfig ,
578577 }
0 commit comments