...

Package runconfig

import "github.com/docker/docker/runconfig"
Overview
Index
Subdirectories

Overview ▾

Constants

const (
    // ErrConflictContainerNetworkAndLinks conflict between --net=container and links
    ErrConflictContainerNetworkAndLinks validationError = "conflicting options: container type network can't be used with links. This would result in undefined behavior"
    // ErrConflictSharedNetwork conflict between private and other networks
    ErrConflictSharedNetwork validationError = "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 validationError = "container cannot be disconnected from host network or connected to host network"
    // ErrConflictNoNetwork conflict between private and other networks
    ErrConflictNoNetwork validationError = "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 validationError = "conflicting options: dns and the network mode"
    // ErrConflictNetworkHostname conflict between the hostname and the network mode
    ErrConflictNetworkHostname validationError = "conflicting options: hostname and the network mode"
    // ErrConflictHostNetworkAndLinks conflict between --net=host and links
    ErrConflictHostNetworkAndLinks validationError = "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 validationError = "conflicting options: mac-address and the network mode"
    // ErrConflictNetworkHosts conflict between add-host and the network mode
    ErrConflictNetworkHosts validationError = "conflicting options: custom host-to-IP mapping and the network mode"
    // ErrConflictNetworkPublishPorts conflict between the publish options and the network mode
    ErrConflictNetworkPublishPorts validationError = "conflicting options: port publishing and the container type network mode"
    // ErrConflictNetworkExposePorts conflict between the expose option and the network mode
    ErrConflictNetworkExposePorts validationError = "conflicting options: port exposing and the container type network mode"
    // ErrUnsupportedNetworkAndIP conflict between network mode and requested ip address
    ErrUnsupportedNetworkAndIP validationError = "user specified IP address is supported on user defined networks only"
    // ErrUnsupportedNetworkNoSubnetAndIP conflict between network with no configured subnet and requested ip address
    ErrUnsupportedNetworkNoSubnetAndIP validationError = "user specified IP address is supported only when connecting to networks with user configured subnets"
    // ErrUnsupportedNetworkAndAlias conflict between network mode and alias
    ErrUnsupportedNetworkAndAlias validationError = "network-scoped alias is supported only for containers in user defined networks"
    // ErrConflictUTSHostname conflict between the hostname and the UTS mode
    ErrConflictUTSHostname validationError = "conflicting options: hostname and the UTS mode"
    // ErrEmptyConfig when container config is nil
    ErrEmptyConfig validationError = "config cannot be empty in order to create a container"
)

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)

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.

type ContainerConfigWrapper

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

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.
}

type ContainerDecoder

ContainerDecoder implements httputils.ContainerDecoder calling DecodeContainerConfig.

type ContainerDecoder struct {
    GetSysInfo func() *sysinfo.SysInfo
}

func (ContainerDecoder) DecodeConfig

func (r ContainerDecoder) DecodeConfig(src io.Reader) (*container.Config, *container.HostConfig, *networktypes.NetworkingConfig, error)

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

Subdirectories

Name Synopsis
..
opts