浏览代码

Windows: --hostname support

This passes through the container hostname to HCS, which in Windows Server
2016 TP4 will set the container's hostname in the registry before starting
it. This will be silently ignored by TP3.

Signed-off-by: John Starks <jostarks@microsoft.com>
John Starks 9 年之前
父节点
当前提交
7e8c92ad72
共有 3 个文件被更改,包括 4 次插入0 次删除
  1. 1 0
      daemon/container_windows.go
  2. 1 0
      daemon/execdriver/driver.go
  3. 2 0
      daemon/execdriver/windows/run.go

+ 1 - 0
daemon/container_windows.go

@@ -130,6 +130,7 @@ func populateCommand(ctx context.Context, c *Container, env []string) error {
 		FirstStart:     !c.HasBeenStartedBefore,
 		LayerFolder:    layerFolder,
 		LayerPaths:     layerPaths,
+		Hostname:       c.Config.Hostname,
 	}
 
 	return nil

+ 1 - 0
daemon/execdriver/driver.go

@@ -220,4 +220,5 @@ type Command struct {
 	FirstStart         bool              `json:"first_start"`
 	LayerPaths         []string          `json:"layer_paths"` // Windows needs to know the layer paths and folder for a command
 	LayerFolder        string            `json:"layer_folder"`
+	Hostname           string            `json:"hostname"` // Windows sets the hostname in the execdriver
 }

+ 2 - 0
daemon/execdriver/windows/run.go

@@ -72,6 +72,7 @@ type containerInit struct {
 	LayerFolderPath         string   // Where the layer folders are located
 	Layers                  []layer  // List of storage layers
 	ProcessorWeight         int64    // CPU Shares 1..9 on Windows; or 0 is platform default.
+	HostName                string   // Hostname
 }
 
 // defaultOwner is a tag passed to HCS to allow it to differentiate between
@@ -102,6 +103,7 @@ func (d *Driver) Run(ctx context.Context, c *execdriver.Command, pipes *execdriv
 		IgnoreFlushesDuringBoot: c.FirstStart,
 		LayerFolderPath:         c.LayerFolder,
 		ProcessorWeight:         c.Resources.CPUShares,
+		HostName:                c.Hostname,
 	}
 
 	for i := 0; i < len(c.LayerPaths); i++ {