diff --git a/components/engine/daemon/daemon.go b/components/engine/daemon/daemon.go index 9911f3d2a3..4e7db85472 100644 --- a/components/engine/daemon/daemon.go +++ b/components/engine/daemon/daemon.go @@ -152,13 +152,15 @@ func (daemon *Daemon) restore() error { removeContainers := make(map[string]*container.Container) restartContainers := make(map[*container.Container]chan struct{}) activeSandboxes := make(map[string]interface{}) - for _, c := range containers { + for id, c := range containers { if err := daemon.registerName(c); err != nil { logrus.Errorf("Failed to register container %s: %s", c.ID, err) + delete(containers, id) continue } if err := daemon.Register(c); err != nil { logrus.Errorf("Failed to register container %s: %s", c.ID, err) + delete(containers, id) continue }