浏览代码

daemon: don't prepare mountpoint for restart container

The restart container has already prepared the mountpoint, there is
no need to do that again. This can speed up the daemon start if
the restart container has a volume and the volume driver is not
available.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Lei Jitang 9 年之前
父节点
当前提交
0feeab2e43
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      daemon/daemon.go

+ 7 - 0
daemon/daemon.go

@@ -376,6 +376,13 @@ func (daemon *Daemon) restore() error {
 	// This must be run after any containers with a restart policy so that containerized plugins
 	// can have a chance to be running before we try to initialize them.
 	for _, c := range containers {
+		// if the container has restart policy, do not
+		// prepare the mountpoints since it has been done on restarting.
+		// This is to speed up the daemon start when a restart container
+		// has a volume and the volume dirver is not available.
+		if _, ok := restartContainers[c]; ok {
+			continue
+		}
 		group.Add(1)
 		go func(c *container.Container) {
 			defer group.Done()