Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CgroupSpec

type CgroupSpec string

    CgroupSpec represents the cgroup to use for the container.

    func (CgroupSpec) Container

    func (c CgroupSpec) Container() string

      Container returns the name of the container whose cgroup will be used.

      func (CgroupSpec) IsContainer

      func (c CgroupSpec) IsContainer() bool

        IsContainer indicates whether the container is using another container cgroup

        func (CgroupSpec) Valid

        func (c CgroupSpec) Valid() bool

          Valid indicates whether the cgroup spec is valid.

          type Config

          type Config struct {
          	Hostname        string              // Hostname
          	Domainname      string              // Domainname
          	User            string              // User that will run the command(s) inside the container, also support user:group
          	AttachStdin     bool                // Attach the standard input, makes possible user interaction
          	AttachStdout    bool                // Attach the standard output
          	AttachStderr    bool                // Attach the standard error
          	ExposedPorts    nat.PortSet         `json:",omitempty"` // List of exposed ports
          	Tty             bool                // Attach standard streams to a tty, including stdin if it is not closed.
          	OpenStdin       bool                // Open stdin
          	StdinOnce       bool                // If true, close stdin after the 1 attached client disconnects.
          	Env             []string            // List of environment variable to set in the container
          	Cmd             strslice.StrSlice   // Command to run when starting the container
          	Healthcheck     *HealthConfig       `json:",omitempty"` // Healthcheck describes how to check the container is healthy
          	ArgsEscaped     bool                `json:",omitempty"` // True if command is already escaped (Windows specific)
          	Image           string              // Name of the image as it was passed by the operator (e.g. could be symbolic)
          	Volumes         map[string]struct{} // List of volumes (mounts) used for the container
          	WorkingDir      string              // Current directory (PWD) in the command will be launched
          	Entrypoint      strslice.StrSlice   // Entrypoint to run when starting the container
          	NetworkDisabled bool                `json:",omitempty"` // Is network disabled
          	MacAddress      string              `json:",omitempty"` // Mac Address of the container
          	OnBuild         []string            // ONBUILD metadata that were defined on the image Dockerfile
          	Labels          map[string]string   // List of labels set to this container
          	StopSignal      string              `json:",omitempty"` // Signal to stop a container
          	StopTimeout     *int                `json:",omitempty"` // Timeout (in seconds) to stop a container
          	Shell           strslice.StrSlice   `json:",omitempty"` // Shell for shell-form of RUN, CMD, ENTRYPOINT
          }

            Config contains the configuration data about a container. It should hold only portable information about the container. Here, "portable" means "independent from the host we are running on". Non-portable information *should* appear in HostConfig. All fields added to this struct must be marked `omitempty` to keep getting predictable hashes from the old `v1Compatibility` configuration.

            type ContainerCreateCreatedBody

            type ContainerCreateCreatedBody struct {
            
            	// The ID of the created container
            	// Required: true
            	ID string `json:"Id"`
            
            	// Warnings encountered when creating the container
            	// Required: true
            	Warnings []string `json:"Warnings"`
            }

              ContainerCreateCreatedBody container create created body swagger:model ContainerCreateCreatedBody

              type ContainerUpdateOKBody

              type ContainerUpdateOKBody struct {
              
              	// warnings
              	// Required: true
              	Warnings []string `json:"Warnings"`
              }

                ContainerUpdateOKBody container update o k body swagger:model ContainerUpdateOKBody

                type ContainerWaitOKBody

                type ContainerWaitOKBody struct {
                
                	// Exit code of the container
                	// Required: true
                	StatusCode int64 `json:"StatusCode"`
                }

                  ContainerWaitOKBody container wait o k body swagger:model ContainerWaitOKBody

                  type DeviceMapping

                  type DeviceMapping struct {
                  	PathOnHost        string
                  	PathInContainer   string
                  	CgroupPermissions string
                  }

                    DeviceMapping represents the device mapping between the host and the container.

                    type HealthConfig

                    type HealthConfig struct {
                    	// Test is the test to perform to check that the container is healthy.
                    	// An empty slice means to inherit the default.
                    	// The options are:
                    	// {} : inherit healthcheck
                    	// {"NONE"} : disable healthcheck
                    	// {"CMD", args...} : exec arguments directly
                    	// {"CMD-SHELL", command} : run command with system's default shell
                    	Test []string `json:",omitempty"`
                    
                    	// Zero means to inherit. Durations are expressed as integer nanoseconds.
                    	Interval time.Duration `json:",omitempty"` // Interval is the time to wait between checks.
                    	Timeout  time.Duration `json:",omitempty"` // Timeout is the time to wait before considering the check to have hung.
                    
                    	// Retries is the number of consecutive failures needed to consider a container as unhealthy.
                    	// Zero means inherit.
                    	Retries int `json:",omitempty"`
                    }

                      HealthConfig holds configuration settings for the HEALTHCHECK feature.

                      type HostConfig

                      type HostConfig struct {
                      	// Applicable to all platforms
                      	Binds           []string      // List of volume bindings for this container
                      	ContainerIDFile string        // File (path) where the containerId is written
                      	LogConfig       LogConfig     // Configuration of the logs for this container
                      	NetworkMode     NetworkMode   // Network mode to use for the container
                      	PortBindings    nat.PortMap   // Port mapping between the exposed port (container) and the host
                      	RestartPolicy   RestartPolicy // Restart policy to be used for the container
                      	AutoRemove      bool          // Automatically remove container when it exits
                      	VolumeDriver    string        // Name of the volume driver used to mount volumes
                      	VolumesFrom     []string      // List of volumes to take from other container
                      
                      	// Applicable to UNIX platforms
                      	CapAdd          strslice.StrSlice // List of kernel capabilities to add to the container
                      	CapDrop         strslice.StrSlice // List of kernel capabilities to remove from the container
                      	DNS             []string          `json:"Dns"`        // List of DNS server to lookup
                      	DNSOptions      []string          `json:"DnsOptions"` // List of DNSOption to look for
                      	DNSSearch       []string          `json:"DnsSearch"`  // List of DNSSearch to look for
                      	ExtraHosts      []string          // List of extra hosts
                      	GroupAdd        []string          // List of additional groups that the container process will run as
                      	IpcMode         IpcMode           // IPC namespace to use for the container
                      	Cgroup          CgroupSpec        // Cgroup to use for the container
                      	Links           []string          // List of links (in the name:alias form)
                      	OomScoreAdj     int               // Container preference for OOM-killing
                      	PidMode         PidMode           // PID namespace to use for the container
                      	Privileged      bool              // Is the container in privileged mode
                      	PublishAllPorts bool              // Should docker publish all exposed port for the container
                      	ReadonlyRootfs  bool              // Is the container root filesystem in read-only
                      	SecurityOpt     []string          // List of string values to customize labels for MLS systems, such as SELinux.
                      	StorageOpt      map[string]string `json:",omitempty"` // Storage driver options per container.
                      	Tmpfs           map[string]string `json:",omitempty"` // List of tmpfs (mounts) used for the container
                      	UTSMode         UTSMode           // UTS namespace to use for the container
                      	UsernsMode      UsernsMode        // The user namespace to use for the container
                      	ShmSize         int64             // Total shm memory usage
                      	Sysctls         map[string]string `json:",omitempty"` // List of Namespaced sysctls used for the container
                      	Runtime         string            `json:",omitempty"` // Runtime to use with this container
                      
                      	// Applicable to Windows
                      	ConsoleSize [2]uint   // Initial console size (height,width)
                      	Isolation   Isolation // Isolation technology of the container (eg default, hyperv)
                      
                      	// Contains container's resources (cgroups, ulimits)
                      	Resources
                      
                      	// Mounts specs used by the container
                      	Mounts []mount.Mount `json:",omitempty"`
                      
                      	// Run a custom init inside the container, if null, use the daemon's configured settings
                      	Init *bool `json:",omitempty"`
                      
                      	// Custom init path
                      	InitPath string `json:",omitempty"`
                      }

                        HostConfig the non-portable Config structure of a container. Here, "non-portable" means "dependent of the host we are running on". Portable information *should* appear in Config.

                        type IpcMode

                        type IpcMode string

                          IpcMode represents the container ipc stack.

                          func (IpcMode) Container

                          func (n IpcMode) Container() string

                            Container returns the name of the container ipc stack is going to be used.

                            func (IpcMode) IsContainer

                            func (n IpcMode) IsContainer() bool

                              IsContainer indicates whether the container uses a container's ipc stack.

                              func (IpcMode) IsHost

                              func (n IpcMode) IsHost() bool

                                IsHost indicates whether the container uses the host's ipc stack.

                                func (IpcMode) IsPrivate

                                func (n IpcMode) IsPrivate() bool

                                  IsPrivate indicates whether the container uses its private ipc stack.

                                  func (IpcMode) Valid

                                  func (n IpcMode) Valid() bool

                                    Valid indicates whether the ipc stack is valid.

                                    type Isolation

                                    type Isolation string

                                      Isolation represents the isolation technology of a container. The supported values are platform specific

                                      func (Isolation) IsDefault

                                      func (i Isolation) IsDefault() bool

                                        IsDefault indicates the default isolation technology of a container. On Linux this is the native driver. On Windows, this is a Windows Server Container.

                                        func (Isolation) IsValid

                                        func (i Isolation) IsValid() bool

                                          IsValid indicates if an isolation technology is valid

                                          type LogConfig

                                          type LogConfig struct {
                                          	Type   string
                                          	Config map[string]string
                                          }

                                            LogConfig represents the logging configuration of the container.

                                            type NetworkMode

                                            type NetworkMode string

                                              NetworkMode represents the container network stack.

                                              func (NetworkMode) ConnectedContainer

                                              func (n NetworkMode) ConnectedContainer() string

                                                ConnectedContainer is the id of the container which network this container is connected to.

                                                func (NetworkMode) IsBridge

                                                func (n NetworkMode) IsBridge() bool

                                                  IsBridge indicates whether container uses the bridge network stack

                                                  func (NetworkMode) IsContainer

                                                  func (n NetworkMode) IsContainer() bool

                                                    IsContainer indicates whether container uses a container network stack.

                                                    func (NetworkMode) IsDefault

                                                    func (n NetworkMode) IsDefault() bool

                                                      IsDefault indicates whether container uses the default network stack.

                                                      func (NetworkMode) IsHost

                                                      func (n NetworkMode) IsHost() bool

                                                        IsHost indicates whether container uses the host network stack.

                                                        func (NetworkMode) IsNone

                                                        func (n NetworkMode) IsNone() bool

                                                          IsNone indicates whether container isn't using a network stack.

                                                          func (NetworkMode) IsPrivate

                                                          func (n NetworkMode) IsPrivate() bool

                                                            IsPrivate indicates whether container uses its private network stack.

                                                            func (NetworkMode) IsUserDefined

                                                            func (n NetworkMode) IsUserDefined() bool

                                                              IsUserDefined indicates user-created network

                                                              func (NetworkMode) NetworkName

                                                              func (n NetworkMode) NetworkName() string

                                                                NetworkName returns the name of the network stack.

                                                                func (NetworkMode) UserDefined

                                                                func (n NetworkMode) UserDefined() string

                                                                  UserDefined indicates user-created network

                                                                  type PidMode

                                                                  type PidMode string

                                                                    PidMode represents the pid namespace of the container.

                                                                    func (PidMode) Container

                                                                    func (n PidMode) Container() string

                                                                      Container returns the name of the container whose pid namespace is going to be used.

                                                                      func (PidMode) IsContainer

                                                                      func (n PidMode) IsContainer() bool

                                                                        IsContainer indicates whether the container uses a container's pid namespace.

                                                                        func (PidMode) IsHost

                                                                        func (n PidMode) IsHost() bool

                                                                          IsHost indicates whether the container uses the host's pid namespace.

                                                                          func (PidMode) IsPrivate

                                                                          func (n PidMode) IsPrivate() bool

                                                                            IsPrivate indicates whether the container uses its own new pid namespace.

                                                                            func (PidMode) Valid

                                                                            func (n PidMode) Valid() bool

                                                                              Valid indicates whether the pid namespace is valid.

                                                                              type Resources

                                                                              type Resources struct {
                                                                              	// Applicable to all platforms
                                                                              	CPUShares int64 `json:"CpuShares"` // CPU shares (relative weight vs. other containers)
                                                                              	Memory    int64 // Memory limit (in bytes)
                                                                              	NanoCPUs  int64 `json:"NanoCpus"` // CPU quota in units of 10<sup>-9</sup> CPUs.
                                                                              
                                                                              	// Applicable to UNIX platforms
                                                                              	CgroupParent         string // Parent cgroup.
                                                                              	BlkioWeight          uint16 // Block IO weight (relative weight vs. other containers)
                                                                              	BlkioWeightDevice    []*blkiodev.WeightDevice
                                                                              	BlkioDeviceReadBps   []*blkiodev.ThrottleDevice
                                                                              	BlkioDeviceWriteBps  []*blkiodev.ThrottleDevice
                                                                              	BlkioDeviceReadIOps  []*blkiodev.ThrottleDevice
                                                                              	BlkioDeviceWriteIOps []*blkiodev.ThrottleDevice
                                                                              	CPUPeriod            int64           `json:"CpuPeriod"`          // CPU CFS (Completely Fair Scheduler) period
                                                                              	CPUQuota             int64           `json:"CpuQuota"`           // CPU CFS (Completely Fair Scheduler) quota
                                                                              	CPURealtimePeriod    int64           `json:"CpuRealtimePeriod"`  // CPU real-time period
                                                                              	CPURealtimeRuntime   int64           `json:"CpuRealtimeRuntime"` // CPU real-time runtime
                                                                              	CpusetCpus           string          // CpusetCpus 0-2, 0,1
                                                                              	CpusetMems           string          // CpusetMems 0-2, 0,1
                                                                              	Devices              []DeviceMapping // List of devices to map inside the container
                                                                              	DiskQuota            int64           // Disk limit (in bytes)
                                                                              	KernelMemory         int64           // Kernel memory limit (in bytes)
                                                                              	MemoryReservation    int64           // Memory soft limit (in bytes)
                                                                              	MemorySwap           int64           // Total memory usage (memory + swap); set `-1` to enable unlimited swap
                                                                              	MemorySwappiness     *int64          // Tuning container memory swappiness behaviour
                                                                              	OomKillDisable       *bool           // Whether to disable OOM Killer or not
                                                                              	PidsLimit            int64           // Setting pids limit for a container
                                                                              	Ulimits              []*units.Ulimit // List of ulimits to be set in the container
                                                                              
                                                                              	// Applicable to Windows
                                                                              	CPUCount           int64  `json:"CpuCount"`   // CPU count
                                                                              	CPUPercent         int64  `json:"CpuPercent"` // CPU percent
                                                                              	IOMaximumIOps      uint64 // Maximum IOps for the container system drive
                                                                              	IOMaximumBandwidth uint64 // Maximum IO in bytes per second for the container system drive
                                                                              }

                                                                                Resources contains container's resources (cgroups config, ulimits...)

                                                                                type RestartPolicy

                                                                                type RestartPolicy struct {
                                                                                	Name              string
                                                                                	MaximumRetryCount int
                                                                                }

                                                                                  RestartPolicy represents the restart policies of the container.

                                                                                  func (*RestartPolicy) IsAlways

                                                                                  func (rp *RestartPolicy) IsAlways() bool

                                                                                    IsAlways indicates whether the container has the "always" restart policy. This means the container will automatically restart regardless of the exit status.

                                                                                    func (*RestartPolicy) IsNone

                                                                                    func (rp *RestartPolicy) IsNone() bool

                                                                                      IsNone indicates whether the container has the "no" restart policy. This means the container will not automatically restart when exiting.

                                                                                      func (*RestartPolicy) IsOnFailure

                                                                                      func (rp *RestartPolicy) IsOnFailure() bool

                                                                                        IsOnFailure indicates whether the container has the "on-failure" restart policy. This means the container will automatically restart of exiting with a non-zero exit status.

                                                                                        func (*RestartPolicy) IsSame

                                                                                        func (rp *RestartPolicy) IsSame(tp *RestartPolicy) bool

                                                                                          IsSame compares two RestartPolicy to see if they are the same

                                                                                          func (*RestartPolicy) IsUnlessStopped

                                                                                          func (rp *RestartPolicy) IsUnlessStopped() bool

                                                                                            IsUnlessStopped indicates whether the container has the "unless-stopped" restart policy. This means the container will automatically restart unless user has put it to stopped state.

                                                                                            type UTSMode

                                                                                            type UTSMode string

                                                                                              UTSMode represents the UTS namespace of the container.

                                                                                              func (UTSMode) IsHost

                                                                                              func (n UTSMode) IsHost() bool

                                                                                                IsHost indicates whether the container uses the host's UTS namespace.

                                                                                                func (UTSMode) IsPrivate

                                                                                                func (n UTSMode) IsPrivate() bool

                                                                                                  IsPrivate indicates whether the container uses its private UTS namespace.

                                                                                                  func (UTSMode) Valid

                                                                                                  func (n UTSMode) Valid() bool

                                                                                                    Valid indicates whether the UTS namespace is valid.

                                                                                                    type UpdateConfig

                                                                                                    type UpdateConfig struct {
                                                                                                    	// Contains container's resources (cgroups, ulimits)
                                                                                                    	Resources
                                                                                                    	RestartPolicy RestartPolicy
                                                                                                    }

                                                                                                      UpdateConfig holds the mutable attributes of a Container. Those attributes can be updated at runtime.

                                                                                                      type UsernsMode

                                                                                                      type UsernsMode string

                                                                                                        UsernsMode represents userns mode in the container.

                                                                                                        func (UsernsMode) IsHost

                                                                                                        func (n UsernsMode) IsHost() bool

                                                                                                          IsHost indicates whether the container uses the host's userns.

                                                                                                          func (UsernsMode) IsPrivate

                                                                                                          func (n UsernsMode) IsPrivate() bool

                                                                                                            IsPrivate indicates whether the container uses the a private userns.

                                                                                                            func (UsernsMode) Valid

                                                                                                            func (n UsernsMode) Valid() bool

                                                                                                              Valid indicates whether the userns is valid.