Pārlūkot izejas kodu

Do not attempt releasing network when not attached to any network

Sometimes container.cleanup() can be called from multiple paths
for the same container during error conditions from monitor and
regular startup path. So if the container network has been already
released do not try to release it again.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Jana Radhakrishnan 10 gadi atpakaļ
vecāks
revīzija
6cdf8623d5
1 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. 6 0
      daemon/container_linux.go

+ 6 - 0
daemon/container_linux.go

@@ -917,6 +917,12 @@ func (container *Container) ReleaseNetwork() {
 		return
 	}
 
+	// If the container is not attached to any network do not try
+	// to release network and generate spurious error messages.
+	if container.NetworkSettings.NetworkID == "" {
+		return
+	}
+
 	n, err := container.daemon.netController.NetworkByID(container.NetworkSettings.NetworkID)
 	if err != nil {
 		logrus.Errorf("error locating network id %s: %v", container.NetworkSettings.NetworkID, err)