runconfig

package
Version: v0.0.0-...-288be08 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrConflictContainerNetworkAndLinks conflict between --net=container and links
	ErrConflictContainerNetworkAndLinks = fmt.Errorf("Conflicting options: container type network can't be used with links. This would result in undefined behavior")
	// ErrConflictUserDefinedNetworkAndLinks conflict between --net=<NETWORK> and links
	ErrConflictUserDefinedNetworkAndLinks = fmt.Errorf("Conflicting options: networking can't be used with links. This would result in undefined behavior")
	// ErrConflictSharedNetwork conflict between private and other networks
	ErrConflictSharedNetwork = fmt.Errorf("Container sharing network namespace with another container or host cannot be connected to any other network")
	// ErrConflictHostNetwork conflict from being disconnected from host network or connected to host network.
	ErrConflictHostNetwork = fmt.Errorf("Container cannot be disconnected from host network or connected to host network")
	// ErrConflictNoNetwork conflict between private and other networks
	ErrConflictNoNetwork = fmt.Errorf("Container cannot be connected to multiple networks with one of the networks in private (none) mode")
	// ErrConflictNetworkAndDNS conflict between --dns and the network mode
	ErrConflictNetworkAndDNS = fmt.Errorf("Conflicting options: dns and the network mode")
	// ErrConflictNetworkHostname conflict between the hostname and the network mode
	ErrConflictNetworkHostname = fmt.Errorf("Conflicting options: hostname and the network mode")
	// ErrConflictHostNetworkAndLinks conflict between --net=host and links
	ErrConflictHostNetworkAndLinks = fmt.Errorf("Conflicting options: host type networking can't be used with links. This would result in undefined behavior")
	// ErrConflictContainerNetworkAndMac conflict between the mac address and the network mode
	ErrConflictContainerNetworkAndMac = fmt.Errorf("Conflicting options: mac-address and the network mode")
	// ErrConflictNetworkHosts conflict between add-host and the network mode
	ErrConflictNetworkHosts = fmt.Errorf("Conflicting options: custom host-to-IP mapping and the network mode")
	// ErrConflictNetworkPublishPorts conflict between the publish options and the network mode
	ErrConflictNetworkPublishPorts = fmt.Errorf("Conflicting options: port publishing and the container type network mode")
	// ErrConflictNetworkExposePorts conflict between the expose option and the network mode
	ErrConflictNetworkExposePorts = fmt.Errorf("Conflicting options: port exposing and the container type network mode")
	// ErrUnsupportedNetworkAndIP conflict between network mode and requested ip address
	ErrUnsupportedNetworkAndIP = fmt.Errorf("User specified IP address is supported on user defined networks only")
	// ErrUnsupportedNetworkNoSubnetAndIP conflict between network with no configured subnet and requested ip address
	ErrUnsupportedNetworkNoSubnetAndIP = fmt.Errorf("User specified IP address is supported only when connecting to networks with user configured subnets")
	// ErrUnsupportedNetworkAndAlias conflict between network mode and alias
	ErrUnsupportedNetworkAndAlias = fmt.Errorf("Network-scoped alias is supported only for containers in user defined networks")
	// ErrConflictUTSHostname conflict between the hostname and the UTS mode
	ErrConflictUTSHostname = fmt.Errorf("Conflicting options: hostname and the UTS mode")
)

Functions

func Compare

func Compare(a, b *container.Config) bool

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) (*container.Config, *container.HostConfig, *networktypes.NetworkingConfig, error)

DecodeContainerConfig decodes a json encoded config into a ContainerConfigWrapper struct and returns both a Config and a HostConfig struct Be aware this function is not checking whether the resulted structs are nil, it's your business to do so

func DecodeHostConfig

func DecodeHostConfig(src io.Reader) (*container.HostConfig, error)

DecodeHostConfig creates a HostConfig based on the specified Reader. It assumes the content of the reader will be JSON, and decodes it.

func DefaultDaemonNetworkMode

func DefaultDaemonNetworkMode() container.NetworkMode

DefaultDaemonNetworkMode returns the default network stack the daemon should use.

func IsPreDefinedNetwork

func IsPreDefinedNetwork(network string) bool

IsPreDefinedNetwork indicates if a network is predefined by the daemon

func SetDefaultNetModeIfBlank

func SetDefaultNetModeIfBlank(hc *container.HostConfig) *container.HostConfig

SetDefaultNetModeIfBlank changes the NetworkMode in a HostConfig structure to default if it is not populated. This ensures backwards compatibility after the validation of the network mode was moved from the docker CLI to the docker daemon.

func ValidateIsolation

func ValidateIsolation(hc *container.HostConfig) error

ValidateIsolation performs platform specific validation of isolation in the hostconfig structure. Linux only supports "default" which is LXC container isolation

func ValidateNetMode

func ValidateNetMode(c *container.Config, hc *container.HostConfig) error

ValidateNetMode ensures that the various combinations of requested network settings are valid.

func ValidateQoS

func ValidateQoS(hc *container.HostConfig) error

ValidateQoS performs platform specific validation of the QoS settings

func ValidateResources

func ValidateResources(hc *container.HostConfig, si *sysinfo.SysInfo) error

ValidateResources performs platform specific validation of the resource settings cpu-rt-runtime and cpu-rt-period can not be greater than their parent, cpu-rt-runtime requires sys_nice

Types

type ContainerConfigWrapper

type ContainerConfigWrapper struct {
	*container.Config
	InnerHostConfig       *container.HostConfig          `json:"HostConfig,omitempty"`
	Cpuset                string                         `json:",omitempty"` // Deprecated. Exported for backwards compatibility.
	NetworkingConfig      *networktypes.NetworkingConfig `json:"NetworkingConfig,omitempty"`
	*container.HostConfig                                // Deprecated. Exported to read attributes from json that are not in the inner host config structure.
}

ContainerConfigWrapper is a Config wrapper that holds the container Config (portable) and the corresponding HostConfig (non-portable).

type ContainerDecoder

type ContainerDecoder struct{}

ContainerDecoder implements httputils.ContainerDecoder calling DecodeContainerConfig.

func (ContainerDecoder) DecodeConfig

DecodeConfig makes ContainerDecoder to implement httputils.ContainerDecoder

func (ContainerDecoder) DecodeHostConfig

func (r ContainerDecoder) DecodeHostConfig(src io.Reader) (*container.HostConfig, error)

DecodeHostConfig makes ContainerDecoder to implement httputils.ContainerDecoder

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL