Use service alias and configure container's --net-alias

Signed-off-by: Madhu Venugopal <madhu@docker.com>
(cherry picked from commit 07e39e9e72)
This commit is contained in:
Madhu Venugopal 2016-06-14 14:55:05 -07:00 committed by Tibor Vass
parent 588b76c2a1
commit 60a86590aa
5 changed files with 7 additions and 3 deletions

View File

@ -823,7 +823,7 @@ func (container *Container) BuildCreateEndpointOptions(n libnetwork.Network, epC
}) })
} }
createOptions = append(createOptions, libnetwork.CreateOptionService(svcCfg.Name, svcCfg.ID, net.ParseIP(vip), portConfigs)) createOptions = append(createOptions, libnetwork.CreateOptionService(svcCfg.Name, svcCfg.ID, net.ParseIP(vip), portConfigs, svcCfg.Aliases[n.ID()]))
} }
if !containertypes.NetworkMode(n.Name()).IsUserDefined() { if !containertypes.NetworkMode(n.Name()).IsUserDefined() {

View File

@ -918,7 +918,7 @@ func populateNetworkID(ctx context.Context, c swarmapi.ControlClient, s *types.S
if err != nil { if err != nil {
return err return err
} }
s.Networks[i] = types.NetworkAttachmentConfig{Target: apiNetwork.ID} s.Networks[i].Target = apiNetwork.ID
} }
return nil return nil
} }

View File

@ -126,7 +126,6 @@ func (c *containerAdapter) create(ctx context.Context, backend executorpkg.Backe
if nc != nil { if nc != nil {
for n, ep := range nc.EndpointsConfig { for n, ep := range nc.EndpointsConfig {
logrus.Errorf("CONNECT %s : %v", n, ep.IPAMConfig.IPv4Address)
if err := backend.ConnectContainerToNetwork(cr.ID, n, ep); err != nil { if err := backend.ConnectContainerToNetwork(cr.ID, n, ep); err != nil {
return err return err
} }

View File

@ -348,6 +348,7 @@ func (c *containerConfig) serviceConfig() *clustertypes.ServiceConfig {
log.Printf("Creating service config in agent for t = %+v", c.task) log.Printf("Creating service config in agent for t = %+v", c.task)
svcCfg := &clustertypes.ServiceConfig{ svcCfg := &clustertypes.ServiceConfig{
Name: c.task.ServiceAnnotations.Name, Name: c.task.ServiceAnnotations.Name,
Aliases: make(map[string][]string),
ID: c.task.ServiceID, ID: c.task.ServiceID,
VirtualAddresses: make(map[string]*clustertypes.VirtualAddress), VirtualAddresses: make(map[string]*clustertypes.VirtualAddress),
} }
@ -357,6 +358,9 @@ func (c *containerConfig) serviceConfig() *clustertypes.ServiceConfig {
// We support only IPv4 virtual IP for now. // We support only IPv4 virtual IP for now.
IPv4: c.virtualIP(na.Network.ID), IPv4: c.virtualIP(na.Network.ID),
} }
if len(na.Aliases) > 0 {
svcCfg.Aliases[na.Network.ID] = na.Aliases
}
} }
if c.task.Endpoint != nil { if c.task.Endpoint != nil {

View File

@ -31,6 +31,7 @@ type PortConfig struct {
type ServiceConfig struct { type ServiceConfig struct {
ID string ID string
Name string Name string
Aliases map[string][]string
VirtualAddresses map[string]*VirtualAddress VirtualAddresses map[string]*VirtualAddress
ExposedPorts []*PortConfig ExposedPorts []*PortConfig
} }