package execdriver import "github.com/docker/go-connections/nat" // Mount contains information for a mount operation. type Mount struct { Source string `json:"source"` Destination string `json:"destination"` Writable bool `json:"writable"` } // Resources contains all resource configs for a driver. // Currently these are all for cgroup configs. type Resources struct { CommonResources // Fields below here are platform specific } // ProcessConfig is the platform specific structure that describes a process // that will be run inside a container. type ProcessConfig struct { CommonProcessConfig // Fields below here are platform specific ConsoleSize [2]int `json:"-"` // h,w of initial console size } // Network settings of the container type Network struct { Interface *NetworkInterface `json:"interface"` ContainerID string `json:"container_id"` // id of the container to join network. } // NetworkInterface contains network configs for a driver type NetworkInterface struct { MacAddress string `json:"mac"` Bridge string `json:"bridge"` IPAddress string `json:"ip"` // PortBindings is the port mapping between the exposed port in the // container and the port on the host. PortBindings nat.PortMap `json:"port_bindings"` } // Command wraps an os/exec.Cmd to add more metadata type Command struct { CommonCommand // Fields below here are platform specific FirstStart bool `json:"first_start"` // Optimisation for first boot of Windows Hostname string `json:"hostname"` // Windows sets the hostname in the execdriver LayerFolder string `json:"layer_folder"` // Layer folder for a command LayerPaths []string `json:"layer_paths"` // Layer paths for a command Isolation string `json:"isolation"` // Isolation level for the container ArgsEscaped bool `json:"args_escaped"` // True if args are already escaped HvPartition bool `json:"hv_partition"` // True if it's an hypervisor partition } // ExitStatus provides exit reasons for a container. type ExitStatus struct { // The exit code with which the container exited. ExitCode int }