github.com/walkingsparrow/docker@v1.4.2-0.20151218153551-b708a2249bfa/daemon/execdriver/driver_windows.go (about)

     1  package execdriver
     2  
     3  import (
     4  	"github.com/docker/docker/pkg/nat"
     5  	"github.com/docker/docker/runconfig"
     6  )
     7  
     8  // Mount contains information for a mount operation.
     9  type Mount struct {
    10  	Source      string `json:"source"`
    11  	Destination string `json:"destination"`
    12  	Writable    bool   `json:"writable"`
    13  }
    14  
    15  // Resources contains all resource configs for a driver.
    16  // Currently these are all for cgroup configs.
    17  type Resources struct {
    18  	CommonResources
    19  
    20  	// Fields below here are platform specific
    21  }
    22  
    23  // ProcessConfig is the platform specific structure that describes a process
    24  // that will be run inside a container.
    25  type ProcessConfig struct {
    26  	CommonProcessConfig
    27  
    28  	// Fields below here are platform specific
    29  	ConsoleSize [2]int `json:"-"` // h,w of initial console size
    30  }
    31  
    32  // Network settings of the container
    33  type Network struct {
    34  	Interface   *NetworkInterface `json:"interface"`
    35  	ContainerID string            `json:"container_id"` // id of the container to join network.
    36  }
    37  
    38  // NetworkInterface contains network configs for a driver
    39  type NetworkInterface struct {
    40  	MacAddress string `json:"mac"`
    41  	Bridge     string `json:"bridge"`
    42  	IPAddress  string `json:"ip"`
    43  
    44  	// PortBindings is the port mapping between the exposed port in the
    45  	// container and the port on the host.
    46  	PortBindings nat.PortMap `json:"port_bindings"`
    47  }
    48  
    49  // Command wraps an os/exec.Cmd to add more metadata
    50  type Command struct {
    51  	CommonCommand
    52  
    53  	// Fields below here are platform specific
    54  
    55  	FirstStart  bool                     `json:"first_start"`  // Optimisation for first boot of Windows
    56  	Hostname    string                   `json:"hostname"`     // Windows sets the hostname in the execdriver
    57  	LayerFolder string                   `json:"layer_folder"` // Layer folder for a command
    58  	LayerPaths  []string                 `json:"layer_paths"`  // Layer paths for a command
    59  	Isolation   runconfig.IsolationLevel `json:"isolation"`    // Isolation level for the container
    60  	ArgsEscaped bool                     `json:"args_escaped"` // True if args are already escaped
    61  }
    62  
    63  // ExitStatus provides exit reasons for a container.
    64  type ExitStatus struct {
    65  	// The exit code with which the container exited.
    66  	ExitCode int
    67  }