浏览代码

Merge pull request #17671 from Microsoft/sjw/skip_mount_on_create

Optimize Create Container to skip extra mount on Windows.
Brian Goff 9 年之前
父节点
当前提交
bb9eca9036
共有 2 个文件被更改,包括 5 次插入4 次删除
  1. 0 4
      daemon/create.go
  2. 5 0
      daemon/create_unix.go

+ 0 - 4
daemon/create.go

@@ -100,10 +100,6 @@ func (daemon *Daemon) create(params *ContainerCreateConfig) (retC *Container, re
 			}
 			}
 		}
 		}
 	}()
 	}()
-	if err := daemon.Mount(container); err != nil {
-		return nil, err
-	}
-	defer daemon.Unmount(container)
 
 
 	if err := daemon.createContainerPlatformSpecificSettings(container, params.Config, params.HostConfig, img); err != nil {
 	if err := daemon.createContainerPlatformSpecificSettings(container, params.Config, params.HostConfig, img); err != nil {
 		return nil, err
 		return nil, err

+ 5 - 0
daemon/create_unix.go

@@ -16,6 +16,11 @@ import (
 
 
 // createContainerPlatformSpecificSettings performs platform specific container create functionality
 // createContainerPlatformSpecificSettings performs platform specific container create functionality
 func (daemon *Daemon) createContainerPlatformSpecificSettings(container *Container, config *runconfig.Config, hostConfig *runconfig.HostConfig, img *image.Image) error {
 func (daemon *Daemon) createContainerPlatformSpecificSettings(container *Container, config *runconfig.Config, hostConfig *runconfig.HostConfig, img *image.Image) error {
+	if err := daemon.Mount(container); err != nil {
+		return err
+	}
+	defer daemon.Unmount(container)
+
 	for spec := range config.Volumes {
 	for spec := range config.Volumes {
 		name := stringid.GenerateNonCryptoID()
 		name := stringid.GenerateNonCryptoID()
 		destination := filepath.Clean(spec)
 		destination := filepath.Clean(spec)