Support container_name in ACI and add network alias in dns sidecar.

(Note container_name is used in several MSFT examples)

Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
This commit is contained in:
Guillaume Tardif 2021-01-12 15:43:38 +01:00
parent f6e5c911ce
commit 010c4be6b2
3 changed files with 18 additions and 8 deletions

View File

@ -120,8 +120,8 @@ func ToContainerGroup(ctx context.Context, aciContext store.AciContext, p types.
DNSNameLabel: dnsLabelName, DNSNameLabel: dnsLabelName,
} }
} }
if len(ctnrs) > 1 { if len(project.Services) > 1 {
dnsSideCar := getDNSSidecar(ctnrs) dnsSideCar := getDNSSidecar(project.Services)
ctnrs = append(ctnrs, dnsSideCar) ctnrs = append(ctnrs, dnsSideCar)
} }
groupDefinition.ContainerGroupProperties.Containers = &ctnrs groupDefinition.ContainerGroupProperties.Containers = &ctnrs
@ -137,10 +137,13 @@ func durationToSeconds(d *types.Duration) *int32 {
return &v return &v
} }
func getDNSSidecar(containers []containerinstance.Container) containerinstance.Container { func getDNSSidecar(services types.Services) containerinstance.Container {
names := []string{"/hosts"} names := []string{"/hosts"}
for _, container := range containers { for _, service := range services {
names = append(names, *container.Name) names = append(names, service.Name)
if service.ContainerName != "" {
names = append(names, service.ContainerName)
}
} }
dnsSideCar := containerinstance.Container{ dnsSideCar := containerinstance.Container{
Name: to.StringPtr(ComposeDNSSidecarName), Name: to.StringPtr(ComposeDNSSidecarName),
@ -182,8 +185,13 @@ func (s serviceConfigAciHelper) getAciContainer() (containerinstance.Container,
return containerinstance.Container{}, err return containerinstance.Container{}, err
} }
containerName := s.Name
if s.ContainerName != "" {
containerName = s.ContainerName
}
return containerinstance.Container{ return containerinstance.Container{
Name: to.StringPtr(s.Name), Name: to.StringPtr(containerName),
ContainerProperties: &containerinstance.ContainerProperties{ ContainerProperties: &containerinstance.ContainerProperties{
Image: to.StringPtr(s.Image), Image: to.StringPtr(s.Image),
Command: to.StringSlicePtr(s.Command), Command: to.StringSlicePtr(s.Command),

View File

@ -15,4 +15,5 @@ services:
- 9090:80 - 9090:80
volumes: volumes:
staticVol: staticVol:
name: myVolume

View File

@ -3,7 +3,8 @@ services:
build: aci-demo/db build: aci-demo/db
image: gtardif/sentences-db image: gtardif/sentences-db
words: service1:
container_name: words
build: aci-demo/words build: aci-demo/words
image: gtardif/sentences-api image: gtardif/sentences-api
ports: ports: