Browse code

Fix restore active sandbox

we store the active sandbox after daemon.containerd.Restore, but there
is a chance the `Restore` will set the container to exit see
(https://github.com/docker/docker/blob/master/libcontainerd/client_linux.go#L469).
so we should check if the container is really running before add it to
activesandbox.

Signed-off-by: Lei Jitang <leijitang@huawei.com>

Lei Jitang authored on 2016/06/16 20:54:36
Showing 1 changed files
... ...
@@ -179,7 +179,7 @@ func (daemon *Daemon) restore() error {
179 179
 					logrus.Errorf("Failed to restore with containerd: %q", err)
180 180
 					return
181 181
 				}
182
-				if !c.HostConfig.NetworkMode.IsContainer() {
182
+				if !c.HostConfig.NetworkMode.IsContainer() && c.IsRunning() {
183 183
 					options, err := daemon.buildSandboxOptions(c)
184 184
 					if err != nil {
185 185
 						logrus.Warnf("Failed build sandbox option to restore container %s: %v", c.ID, err)