Skip to content

Commit 7f975fa

Browse files
i-kyndeloof
authored andcommitted
Fix replacing "service:x" with "container:y"
Signed-off-by: i-ky <[email protected]>
1 parent 7cf5940 commit 7f975fa

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

pkg/compose/convergence.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,22 @@ func updateServices(service *types.ServiceConfig, cnts Containers) {
126126
if len(cnts) == 0 {
127127
return
128128
}
129-
cnt := cnts[0]
130-
serviceName := cnt.Labels[api.ServiceLabel]
129+
serviceName2containerID := make(map[string]string)
130+
for _, cnt := range cnts {
131+
serviceName := cnt.Labels[api.ServiceLabel]
132+
if _, exists := serviceName2containerID[serviceName]; !exists {
133+
serviceName2containerID[serviceName] = cnt.ID
134+
}
135+
}
131136

132-
if d := getDependentServiceFromMode(service.NetworkMode); d == serviceName {
133-
service.NetworkMode = types.NetworkModeContainerPrefix + cnt.ID
137+
if id, found := serviceName2containerID[getDependentServiceFromMode(service.NetworkMode)]; found {
138+
service.NetworkMode = types.NetworkModeContainerPrefix + id
134139
}
135-
if d := getDependentServiceFromMode(service.Ipc); d == serviceName {
136-
service.Ipc = types.NetworkModeContainerPrefix + cnt.ID
140+
if id, found := serviceName2containerID[getDependentServiceFromMode(service.Ipc)]; found {
141+
service.Ipc = types.NetworkModeContainerPrefix + id
137142
}
138-
if d := getDependentServiceFromMode(service.Pid); d == serviceName {
139-
service.Pid = types.NetworkModeContainerPrefix + cnt.ID
143+
if id, found := serviceName2containerID[getDependentServiceFromMode(service.Pid)]; found {
144+
service.Pid = types.NetworkModeContainerPrefix + id
140145
}
141146
var links []string
142147
for _, serviceLink := range service.Links {

0 commit comments

Comments
 (0)