Documentation
¶
Index ¶
- type Address
- type Backend
- type BindOptions
- type BlockLimit
- type BlockWeight
- type Config
- type Device
- type EndpointIPAMConfig
- type EndpointSettings
- type HealthConfig
- type HostConfig
- type HostMount
- type IPAM
- type IPAMConfig
- type KeyValuePair
- type Loader
- func (l *Loader) Builder(s *services.ServiceConfig, backend services.Backend) (services.Builder, error)
- func (l *Loader) Handles(c services.Backend) bool
- func (l *Loader) Name() string
- func (l *Loader) New() services.Backend
- func (l *Loader) Runner(s *services.ServiceConfig, backend services.Backend) (services.Runner, error)
- type LogConfig
- type Mount
- type NetworkingConfig
- type PeerInfo
- type Port
- type PortBinding
- type PortMapping
- type RestartPolicy
- type TempfsOptions
- type ULimit
- type VolumeDriverConfig
- type VolumeOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend struct {
Dockerfile string `json:"dockerfile,omitempty"`
Image string `json:"image,omitempty"`
Persistent bool `json:"persistent,omitempty"`
Ports []*PortMapping `json:"ports,omitempty"`
ContainerName string `json:"containerName,omitempty"`
ContainerConfig Config `json:"containerConfig,omitempty"`
HostConfig HostConfig `json:"hostConfig,omitempty"`
NetworkConfig NetworkingConfig `json:"networkConfig,omitempty"`
}
func (*Backend) HasBuildStep ¶
func (*Backend) HasLaunchStep ¶
func (*Backend) MarshalJSON ¶
func (*Backend) UnmarshalJSON ¶
type BindOptions ¶
type BindOptions struct {
Propagation string `json:"propagation,omitempty"`
}
BindOptions contains optional configuration for the bind type
type BlockLimit ¶
BlockLimit represents a read/write limit in IOPS or Bandwidth for a device inside of a container
type BlockWeight ¶
type BlockWeight struct {
Path string `json:"path,omitempty"`
Weight string `json:"weight,omitempty"`
}
BlockWeight represents a relative device weight for an individual device inside of a container
type Config ¶
type Config struct {
Hostname string `json:"hostname,omitempty"`
Domainname string `json:"domainname,omitempty"`
User string `json:"user,omitempty"`
Memory int64 `json:"memory,omitempty"`
MemorySwap int64 `json:"memorySwap,omitempty"`
MemoryReservation int64 `json:"memoryReservation,omitempty"`
KernelMemory int64 `json:"kernelMemory,omitempty"`
CPUSet string `json:"cpuset,omitempty"`
PortSpecs []string `json:"portSpecs,omitempty"`
ExposedPorts map[Port]struct{} `json:"exposedPorts,omitempty"`
PublishService string `json:"publishService,omitempty"`
StopSignal string `json:"stopSignal,omitempty"`
StopTimeout int `json:"stopTimeout,omitempty"`
Env []string `json:"env,omitempty"`
Cmd []string `json:"cmd"`
Healthcheck *HealthConfig `json:"healthcheck,omitempty"`
DNS []string `json:"dns,omitempty"` // For Docker API v1.9 and below only
Volumes []string `json:"volumes,omitempty"`
VolumeDriver string `json:"volumeDriver,omitempty"`
WorkingDir string `json:"workingDir,omitempty"`
MacAddress string `json:"macAddress,omitempty"`
Entrypoint []string `json:"entrypoint"`
SecurityOpts []string `json:"securityOpts,omitempty"`
OnBuild []string `json:"onBuild,omitempty"`
Mounts []Mount `json:"mounts,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
AttachStdin bool `json:"attachStdin,omitempty"`
AttachStdout bool `json:"attachStdout,omitempty"`
AttachStderr bool `json:"attachStderr,omitempty"`
ArgsEscaped bool `json:"argsEscaped,omitempty"`
Tty bool `json:"tty,omitempty"`
OpenStdin bool `json:"openStdin,omitempty"`
StdinOnce bool `json:"stdinOnce,omitempty"`
NetworkDisabled bool `json:"networkDisabled,omitempty"`
}
Config is the list of configuration options used when creating a container. Config does not contain the options that are specific to starting a container on a given host. Those are contained in HostConfig
type Device ¶
type Device struct {
PathOnHost string `json:"pathOnHost,omitempty"`
PathInContainer string `json:"pathInContainer,omitempty"`
CgroupPermissions string `json:"cgroupPermissions,omitempty"`
}
Device represents a device mapping between the Docker host and the container.
type EndpointIPAMConfig ¶
type EndpointIPAMConfig struct {
IPv4Address string `json:",omitempty"`
IPv6Address string `json:",omitempty"`
LinkLocalIPs []string `json:",omitempty"`
}
EndpointIPAMConfig represents IPAM configurations for the endpoint
type EndpointSettings ¶
type EndpointSettings struct {
// Configurations
IPAMConfig *EndpointIPAMConfig
Links []string
Aliases []string
// Operational data
NetworkID string
EndpointID string
Gateway string
IPAddress string
IPPrefixLen int
IPv6Gateway string
GlobalIPv6Address string
GlobalIPv6PrefixLen int
MacAddress string
}
EndpointSettings stores the network endpoint details
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:"test,omitempty"`
// Zero means to inherit. Durations are expressed as integer nanoseconds.
Interval time.Duration `json:"interval,omitempty"` // Interval is the time to wait between checks.
Timeout time.Duration `json:"timeout,omitempty"` // Timeout is the time to wait before considering the check to have hung.
StartPeriod time.Duration `json:"startPeriod,omitempty"` // The start period for the container to initialize before the retries starts to count down.
// Retries is the number of consecutive failures needed to consider a container as unhealthy.
// Zero means inherit.
Retries int `json:"retries,omitempty"`
}
HealthConfig holds configuration settings for the HEALTHCHECK feature
It has been added in the version 1.24 of the Docker API, available since Docker 1.12.
type HostConfig ¶
type HostConfig struct {
Binds []string `json:"binds,omitempty"`
CapAdd []string `json:"capAdd,omitempty"`
CapDrop []string `json:"capDrop,omitempty"`
GroupAdd []string `json:"groupAdd,omitempty"`
ContainerIDFile string `json:"containerIDFile,omitempty"`
LxcConf []KeyValuePair `json:"lxcConf,omitempty"`
PortBindings map[Port][]PortBinding `json:"portBindings,omitempty"`
Links []string `json:"links,omitempty"`
DNS []string `json:"dns,omitempty"` // For Docker API v1.10 and above only
DNSOptions []string `json:"dnsOptions,omitempty"`
DNSSearch []string `json:"dnsSearch,omitempty"`
ExtraHosts []string `json:"extraHosts,omitempty"`
VolumesFrom []string `json:"volumesFrom,omitempty"`
UsernsMode string `json:"usernsMode,omitempty"`
NetworkMode string `json:"networkMode,omitempty"`
IpcMode string `json:"ipcMode,omitempty"`
PidMode string `json:"pidMode,omitempty"`
UTSMode string `json:"utsMode,omitempty"`
RestartPolicy RestartPolicy `json:"restartPolicy,omitempty"`
Devices []Device `json:"devices,omitempty"`
DeviceCgroupRules []string `json:"deviceCgroupRules,omitempty"`
LogConfig LogConfig `json:"logConfig,omitempty"`
SecurityOpt []string `json:"securityOpt,omitempty"`
Cgroup string `json:"cgroup,omitempty"`
CgroupParent string `json:"cgroupParent,omitempty"`
Memory int64 `json:"memory,omitempty"`
MemoryReservation int64 `json:"memoryReservation,omitempty"`
KernelMemory int64 `json:"kernelMemory,omitempty"`
MemorySwap int64 `json:"memorySwap,omitempty"`
MemorySwappiness int64 `json:"memorySwappiness,omitempty"`
CPUSet string `json:"cpuset,omitempty"`
CPUSetCPUs string `json:"cpusetCpus,omitempty"`
CPUSetMEMs string `json:"cpusetMems,omitempty"`
CPUQuota int64 `json:"cpuQuota,omitempty"`
CPUPeriod int64 `json:"cpuPeriod,omitempty"`
CPURealtimePeriod int64 `json:"cpuRealtimePeriod,omitempty"`
CPURealtimeRuntime int64 `json:"cpuRealtimeRuntime,omitempty"`
BlkioWeight int64 `json:"blkioWeight,omitempty"`
BlkioWeightDevice []BlockWeight `json:"blkioWeightDevice,omitempty"`
BlkioDeviceReadBps []BlockLimit `json:"blkioDeviceReadBps,omitempty"`
BlkioDeviceReadIOps []BlockLimit `json:"blkioDeviceReadIOps,omitempty"`
BlkioDeviceWriteBps []BlockLimit `json:"blkioDeviceWriteBps,omitempty"`
BlkioDeviceWriteIOps []BlockLimit `json:"blkioDeviceWriteIOps,omitempty"`
Ulimits []ULimit `json:"ulimits,omitempty"`
VolumeDriver string `json:"volumeDriver,omitempty"`
OomScoreAdj int `json:"oomScoreAdj,omitempty"`
PidsLimit int64 `json:"pidsLimit,omitempty"`
ShmSize int64 `json:"shmSize,omitempty"`
Tmpfs map[string]string `json:"tmpfs,omitempty"`
Privileged bool `json:"privileged,omitempty"`
PublishAllPorts bool `json:"publishAllPorts,omitempty"`
ReadonlyRootfs bool `json:"readonlyRootfs,omitempty"`
OOMKillDisable bool `json:"oomKillDisable,omitempty"`
AutoRemove bool `json:"autoRemove,omitempty"`
StorageOpt map[string]string `json:"storageOpt,omitempty"`
Sysctls map[string]string `json:"sysctls,omitempty"`
CPUCount int64 `json:"cpuCount,omitempty"`
CPUPercent int64 `json:"cpuPercent,omitempty"`
IOMaximumBandwidth int64 `json:"ioMaximumBandwidth,omitempty"`
IOMaximumIOps int64 `json:"ioMaximumIOps,omitempty"`
Mounts []HostMount `json:"mounts,omitempty"`
}
HostConfig contains the container options related to starting a container on a given host
type HostMount ¶
type HostMount struct {
Target string `json:"target,omitempty"`
Source string `json:"source,omitempty"`
Type string `json:"type,omitempty"`
ReadOnly bool `json:"readOnly,omitempty"`
BindOptions *BindOptions `json:"bindOptions,omitempty"`
VolumeOptions *VolumeOptions `json:"volumeOptions,omitempty"`
TempfsOptions *TempfsOptions `json:"tempfsOptions,omitempty"`
}
HostMount represents a mount point in the container in HostConfig.
It has been added in the version 1.25 of the Docker API
type IPAM ¶
type IPAM struct {
Driver string
Options map[string]string //Per network IPAM driver options
Config []IPAMConfig
}
IPAM represents IP Address Management
type IPAMConfig ¶
type IPAMConfig struct {
Subnet string `json:",omitempty"`
IPRange string `json:",omitempty"`
Gateway string `json:",omitempty"`
AuxAddress map[string]string `json:"AuxiliaryAddresses,omitempty"`
}
IPAMConfig represents IPAM configurations
type KeyValuePair ¶
type KeyValuePair struct {
Key string `json:"key,omitempty"`
Value string `json:"value,omitempty"`
}
KeyValuePair is a type for generic key/value pairs as used in the Lxc configuration
type LogConfig ¶
type LogConfig struct {
Type string `json:"type,omitempty"`
Config map[string]string `json:"config,omitempty"`
}
LogConfig defines the log driver type and the configuration for it.
type Mount ¶
type Mount struct {
Name string `json:"name"`
Source string `json:"source"`
Destination string `json:"destination"`
Driver string `json:"driver"`
Mode string `json:"mode"`
RW bool `json:"rw"`
}
Mount represents a mount point in the container.
It has been added in the version 1.20 of the Docker API, available since Docker 1.8.
type NetworkingConfig ¶
type NetworkingConfig struct {
EndpointsConfig map[string]*EndpointSettings // Endpoint configs for each connecting network
}
NetworkingConfig represents the container's networking configuration for each of its interfaces Carries the networking configs specified in the `docker run` and `docker network connect` commands
type Port ¶
type Port string
Port represents the port number and the protocol, in the form <number>/<protocol>. For example: 80/tcp.
type PortBinding ¶
type PortBinding struct {
HostIP string `json:"hostIp,omitempty"`
HostPort string `json:"hostPort,omitempty"`
}
PortBinding represents the host/container port mapping as returned in the `docker inspect` json
type PortMapping ¶
func (*PortMapping) MarshalJSON ¶
func (p *PortMapping) MarshalJSON() ([]byte, error)
func (*PortMapping) UnmarshalJSON ¶
func (p *PortMapping) UnmarshalJSON(data []byte) error
type RestartPolicy ¶
type RestartPolicy struct {
Name string `json:"name,omitempty"`
MaximumRetryCount int `json:"maximumRetryCount,omitempty"`
}
RestartPolicy represents the policy for automatically restarting a container.
Possible values are:
- always: the docker daemon will always restart the container
- on-failure: the docker daemon will restart the container on failures, at most MaximumRetryCount times
- unless-stopped: the docker daemon will always restart the container except when user has manually stopped the container
- no: the docker daemon will not restart the container automatically
type TempfsOptions ¶
type TempfsOptions struct {
SizeBytes int64 `json:"sizeBytes,omitempty"`
Mode int `json:"mode,omitempty"`
}
TempfsOptions contains optional configuration for the tempfs type
type ULimit ¶
type ULimit struct {
Name string `json:"name,omitempty"`
Soft int64 `json:"soft,omitempty"`
Hard int64 `json:"hard,omitempty"`
}
ULimit defines system-wide resource limitations This can help a lot in system administration, e.g. when a user starts too many processes and therefore makes the system unresponsive for other users.
type VolumeDriverConfig ¶
type VolumeDriverConfig struct {
Name string `json:"name,omitempty"`
Options map[string]string `json:"options,omitempty"`
}
VolumeDriverConfig holds a map of volume driver specific options
type VolumeOptions ¶
type VolumeOptions struct {
NoCopy bool `json:"noCopy,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
DriverConfig VolumeDriverConfig `json:"driverConfig,omitempty"`
}
VolumeOptions contains optional configuration for the volume type