Documentation
¶
Index ¶
- Variables
- func Compare(a, b *Config) bool
- func DecodeContainerConfig(src io.Reader) (*Config, *HostConfig, error)
- func Merge(userConf, imageConf *Config) error
- func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSet, error)
- type CapList
- type Command
- type Config
- type ContainerConfigWrapper
- type DeviceMapping
- type Entrypoint
- type ExecConfig
- type HostConfig
- type IpcMode
- type KeyValuePair
- type LogConfig
- type LxcConfig
- type NetworkMode
- type PidMode
- type RestartPolicy
- type UTSMode
Constants ¶
This section is empty.
Variables ¶
var ( ErrConflictContainerNetworkAndLinks = fmt.Errorf("Conflicting options: --net=container can't be used with links. This would result in undefined behavior") ErrConflictNetworkAndDns = fmt.Errorf("Conflicting options: --dns and the network mode (--net)") ErrConflictNetworkHostname = fmt.Errorf("Conflicting options: -h and the network mode (--net)") ErrConflictHostNetworkAndLinks = fmt.Errorf("Conflicting options: --net=host can't be used with links. This would result in undefined behavior") ErrConflictContainerNetworkAndMac = fmt.Errorf("Conflicting options: --mac-address and the network mode (--net)") ErrConflictNetworkHosts = fmt.Errorf("Conflicting options: --add-host and the network mode (--net)") ErrConflictNetworkPublishPorts = fmt.Errorf("Conflicting options: -p, -P, --publish-all, --publish and the network mode (--net)") ErrConflictNetworkExposePorts = fmt.Errorf("Conflicting options: --expose and the network mode (--expose)") )
Functions ¶
func Compare ¶
Compare two Config struct. Do not compare the "Image" nor "Hostname" fields If OpenStdin is set, then it differs
func DecodeContainerConfig ¶ added in v1.7.0
func DecodeContainerConfig(src io.Reader) (*Config, *HostConfig, error)
DecodeContainerConfig decodes a json encoded config into a ContainerConfigWrapper struct and returns both a Config and an HostConfig struct Be aware this function is not checking whether the resulted structs are nil, it's your business to do so
Types ¶
type CapList ¶ added in v1.8.0
type CapList struct {
// contains filtered or unexported fields
}
func NewCapList ¶ added in v1.8.0
func (*CapList) MarshalJSON ¶ added in v1.8.0
func (*CapList) UnmarshalJSON ¶ added in v1.8.0
type Command ¶ added in v1.7.0
type Command struct {
// contains filtered or unexported fields
}
func NewCommand ¶ added in v1.7.0
func (*Command) MarshalJSON ¶ added in v1.7.0
func (*Command) UnmarshalJSON ¶ added in v1.7.0
UnmarshalJSON decoded the entrypoint whether it's a string or an array of strings.
type Config ¶
type Config struct {
Hostname string
Domainname string
User string
AttachStdin bool
AttachStdout bool
AttachStderr bool
ExposedPorts map[nat.Port]struct{}
PublishService string
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
Cmd *Command
Image string // Name of the image as it was passed by the operator (eg. could be symbolic)
Volumes map[string]struct{}
VolumeDriver string
WorkingDir string
Entrypoint *Entrypoint
NetworkDisabled bool
MacAddress string
OnBuild []string
Labels map[string]string
}
Note: the Config structure 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.
type ContainerConfigWrapper ¶ added in v1.7.0
type ContainerConfigWrapper struct {
*Config
InnerHostConfig *HostConfig `json:"HostConfig,omitempty"`
Cpuset string `json:",omitempty"` // Deprecated. Exported for backwards compatibility.
*HostConfig // Deprecated. Exported to read attrubutes from json that are not in the inner host config structure.
}
func MergeConfigs ¶ added in v1.3.0
func MergeConfigs(config *Config, hostConfig *HostConfig) *ContainerConfigWrapper
func (*ContainerConfigWrapper) GetHostConfig ¶ added in v1.7.0
func (w *ContainerConfigWrapper) GetHostConfig() *HostConfig
type DeviceMapping ¶ added in v1.2.0
func ParseDevice ¶ added in v1.2.0
func ParseDevice(device string) (DeviceMapping, error)
type Entrypoint ¶ added in v1.7.0
type Entrypoint struct {
// contains filtered or unexported fields
}
Entrypoint encapsulates the container entrypoint. It might be represented as a string or an array of strings. We need to override the json decoder to accept both options. The JSON decoder will fail if the api sends an string and
we try to decode it into an array of string.
func NewEntrypoint ¶ added in v1.7.0
func NewEntrypoint(parts ...string) *Entrypoint
func (*Entrypoint) Len ¶ added in v1.7.0
func (e *Entrypoint) Len() int
func (*Entrypoint) MarshalJSON ¶ added in v1.7.0
func (e *Entrypoint) MarshalJSON() ([]byte, error)
func (*Entrypoint) Slice ¶ added in v1.7.0
func (e *Entrypoint) Slice() []string
func (*Entrypoint) UnmarshalJSON ¶ added in v1.7.0
func (e *Entrypoint) UnmarshalJSON(b []byte) error
UnmarshalJSON decoded the entrypoint whether it's a string or an array of strings.
type ExecConfig ¶ added in v1.3.0
type HostConfig ¶
type HostConfig struct {
Binds []string
ContainerIDFile string
LxcConf *LxcConfig
Memory int64 // Memory limit (in bytes)
MemorySwap int64 // Total memory usage (memory + swap); set `-1` to disable swap
CpuPeriod int64
CpusetCpus string // CpusetCpus 0-2, 0,1
CpusetMems string // CpusetMems 0-2, 0,1
CpuQuota int64
BlkioWeight int64 // Block IO weight (relative weight vs. other containers)
OomKillDisable bool // Whether to disable OOM Killer or not
MemorySwappiness *int64 // Tuning container memory swappiness behaviour
Privileged bool
PortBindings nat.PortMap
Links []string
PublishAllPorts bool
Dns []string
DnsSearch []string
ExtraHosts []string
VolumesFrom []string
Devices []DeviceMapping
NetworkMode NetworkMode
IpcMode IpcMode
PidMode PidMode
UTSMode UTSMode
CapAdd *CapList
CapDrop *CapList
GroupAdd []string
RestartPolicy RestartPolicy
SecurityOpt []string
ReadonlyRootfs bool
Ulimits []*ulimit.Ulimit
LogConfig LogConfig
CgroupParent string // Parent cgroup.
ConsoleSize [2]int // Initial console size on Windows
}
func DecodeHostConfig ¶ added in v1.7.0
func DecodeHostConfig(src io.Reader) (*HostConfig, error)
type IpcMode ¶ added in v1.4.0
type IpcMode string
func (IpcMode) IsContainer ¶ added in v1.4.0
type KeyValuePair ¶
type LxcConfig ¶ added in v1.7.0
type LxcConfig struct {
// contains filtered or unexported fields
}
func NewLxcConfig ¶ added in v1.7.0
func NewLxcConfig(values []KeyValuePair) *LxcConfig
func (*LxcConfig) MarshalJSON ¶ added in v1.7.0
func (*LxcConfig) Slice ¶ added in v1.7.0
func (c *LxcConfig) Slice() []KeyValuePair
func (*LxcConfig) UnmarshalJSON ¶ added in v1.7.0
type NetworkMode ¶ added in v0.11.0
type NetworkMode string
func DefaultDaemonNetworkMode ¶ added in v1.8.0
func DefaultDaemonNetworkMode() NetworkMode
func (NetworkMode) IsBridge ¶ added in v1.7.0
func (n NetworkMode) IsBridge() bool
func (NetworkMode) IsContainer ¶ added in v0.11.0
func (n NetworkMode) IsContainer() bool
func (NetworkMode) IsDefault ¶ added in v1.8.0
func (n NetworkMode) IsDefault() bool
func (NetworkMode) IsHost ¶ added in v0.11.0
func (n NetworkMode) IsHost() bool
func (NetworkMode) IsNone ¶ added in v1.3.0
func (n NetworkMode) IsNone() bool
func (NetworkMode) IsPrivate ¶ added in v1.3.0
func (n NetworkMode) IsPrivate() bool
IsPrivate indicates whether container use it's private network stack
func (NetworkMode) NetworkName ¶ added in v1.8.0
func (n NetworkMode) NetworkName() string
type PidMode ¶ added in v1.5.0
type PidMode string
type RestartPolicy ¶ added in v1.2.0
func ParseRestartPolicy ¶ added in v1.7.0
func ParseRestartPolicy(policy string) (RestartPolicy, error)
ParseRestartPolicy returns the parsed policy or an error indicating what is incorrect
func (*RestartPolicy) IsAlways ¶ added in v1.7.0
func (rp *RestartPolicy) IsAlways() bool
func (*RestartPolicy) IsNone ¶ added in v1.7.0
func (rp *RestartPolicy) IsNone() bool
func (*RestartPolicy) IsOnFailure ¶ added in v1.7.0
func (rp *RestartPolicy) IsOnFailure() bool