浏览代码

Add missing call to "VolumeDriver.Mount" during container start.

On container start, volume mounts are setup which should include
invoking "VolumeDriver.Mount" to setup necessary mounts. This was
missing for Windows containers. Fix that.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
Anusha Ragunathan 8 年之前
父节点
当前提交
b15264004d
共有 1 个文件被更改,包括 4 次插入8 次删除
  1. 4 8
      daemon/volumes_windows.go

+ 4 - 8
daemon/volumes_windows.go

@@ -3,7 +3,6 @@
 package daemon
 
 import (
-	"fmt"
 	"sort"
 
 	"github.com/docker/docker/container"
@@ -25,14 +24,11 @@ func (daemon *Daemon) setupMounts(c *container.Container) ([]container.Mount, er
 		if err := daemon.lazyInitializeVolume(c.ID, mount); err != nil {
 			return nil, err
 		}
-		// If there is no source, take it from the volume path
-		s := mount.Source
-		if s == "" && mount.Volume != nil {
-			s = mount.Volume.Path()
-		}
-		if s == "" {
-			return nil, fmt.Errorf("No source for mount name '%s' driver %q destination '%s'", mount.Name, mount.Driver, mount.Destination)
+		s, err := mount.Setup(c.MountLabel, 0, 0)
+		if err != nil {
+			return nil, err
 		}
+
 		mnts = append(mnts, container.Mount{
 			Source:      s,
 			Destination: mount.Destination,