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 ¶
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 v0.327.0
type CapList struct {
// contains filtered or unexported fields
}
func NewCapList ¶ added in v0.327.0
func (*CapList) MarshalJSON ¶ added in v0.327.0
func (*CapList) UnmarshalJSON ¶ added in v0.327.0
type Command ¶
type Command struct {
// contains filtered or unexported fields
}
func NewCommand ¶
func (*Command) MarshalJSON ¶
func (*Command) UnmarshalJSON ¶
UnmarshalJSON decoded the entrypoint whether it's a string or an array of strings.
type Config ¶
type Config struct { Hostname string // Hostname Domainname string // Domainname User string // User that will run the command(s) inside the container AttachStdin bool // Attach the standard input, makes possible user interaction AttachStdout bool // Attach the standard output AttachStderr bool // Attach the standard error ExposedPorts map[nat.Port]struct{} `json:",omitempty"` // List of exposed ports PublishService string `json:",omitempty"` // Name of the network service exposed by the container 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 *Command // Command to run when starting the container Image string // Name of the image as it was passed by the operator (eg. could be symbolic) Volumes map[string]struct{} // List of volumes (mounts) used for the container VolumeDriver string `json:",omitempty"` // Name of the volume driver used to mount volumes WorkingDir string // Current directory (PWD) in the command will be launched Entrypoint *Entrypoint // 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 }
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. All fields added to this struct must be marked `omitempty` to keep getting predictable hashes from the old `v1Compatibility` configuration.
type ContainerConfigWrapper ¶
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 ¶
func MergeConfigs(config *Config, hostConfig *HostConfig) *ContainerConfigWrapper
func (*ContainerConfigWrapper) GetHostConfig ¶
func (w *ContainerConfigWrapper) GetHostConfig() *HostConfig
type DeviceMapping ¶
func ParseDevice ¶
func ParseDevice(device string) (DeviceMapping, error)
type Entrypoint ¶
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 ¶
func NewEntrypoint(parts ...string) *Entrypoint
func (*Entrypoint) Len ¶
func (e *Entrypoint) Len() int
func (*Entrypoint) MarshalJSON ¶
func (e *Entrypoint) MarshalJSON() ([]byte, error)
func (*Entrypoint) Slice ¶
func (e *Entrypoint) Slice() []string
func (*Entrypoint) UnmarshalJSON ¶
func (e *Entrypoint) UnmarshalJSON(b []byte) error
UnmarshalJSON decoded the entrypoint whether it's a string or an array of strings.
type ExecConfig ¶
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 ¶
func DecodeHostConfig(src io.Reader) (*HostConfig, error)
type IpcMode ¶
type IpcMode string
func (IpcMode) IsContainer ¶
type KeyValuePair ¶
type LxcConfig ¶
type LxcConfig struct {
// contains filtered or unexported fields
}
func NewLxcConfig ¶
func NewLxcConfig(values []KeyValuePair) *LxcConfig
func (*LxcConfig) MarshalJSON ¶
func (*LxcConfig) Slice ¶
func (c *LxcConfig) Slice() []KeyValuePair
func (*LxcConfig) UnmarshalJSON ¶
type NetworkMode ¶
type NetworkMode string
func DefaultDaemonNetworkMode ¶ added in v0.327.0
func DefaultDaemonNetworkMode() NetworkMode
func (NetworkMode) IsBridge ¶
func (n NetworkMode) IsBridge() bool
func (NetworkMode) IsContainer ¶
func (n NetworkMode) IsContainer() bool
func (NetworkMode) IsDefault ¶ added in v0.327.0
func (n NetworkMode) IsDefault() bool
func (NetworkMode) IsHost ¶
func (n NetworkMode) IsHost() bool
func (NetworkMode) IsNone ¶
func (n NetworkMode) IsNone() bool
func (NetworkMode) IsPrivate ¶
func (n NetworkMode) IsPrivate() bool
IsPrivate indicates whether container use it's private network stack
func (NetworkMode) NetworkName ¶ added in v0.327.0
func (n NetworkMode) NetworkName() string
type PidMode ¶
type PidMode string
type RestartPolicy ¶
func ParseRestartPolicy ¶
func ParseRestartPolicy(policy string) (RestartPolicy, error)
ParseRestartPolicy returns the parsed policy or an error indicating what is incorrect
func (*RestartPolicy) IsAlways ¶
func (rp *RestartPolicy) IsAlways() bool
func (*RestartPolicy) IsNone ¶
func (rp *RestartPolicy) IsNone() bool
func (*RestartPolicy) IsOnFailure ¶
func (rp *RestartPolicy) IsOnFailure() bool