Documentation
¶
Overview ¶
Package types holds Docker Engine and Compose SDK wrappers used by kit.
Index ¶
- Constants
- Variables
- func ValidateIpcMode(m IpcMode) error
- func ValidateNetworkMode(m NetworkMode) error
- func ValidatePidMode(m PidMode) error
- type ByteSize
- type Capability
- type CgroupMode
- type ConsoleSize
- type Cpuset
- type Device
- type DeviceRequest
- type IpcMode
- type Isolation
- type MergedConfig
- type MountConsistency
- type MountPropagation
- type MountType
- type NanoCPUs
- type NetworkMode
- type PidMode
- type PortBinding
- type Protocol
- type Resources
- type RestartPolicy
- type UTSMode
- type Ulimit
- type UserNSMode
Constants ¶
const ( B ByteSize = 1 KiB = ByteSize(units.KiB) MiB = ByteSize(units.MiB) GiB = ByteSize(units.GiB) TiB = ByteSize(units.TiB) )
const ( PropagationRPrivate = mount.PropagationRPrivate PropagationPrivate = mount.PropagationPrivate PropagationRSlave = mount.PropagationRSlave PropagationSlave = mount.PropagationSlave )
const ( MountBind = mount.TypeBind MountVolume = mount.TypeVolume MountTmpfs = mount.TypeTmpfs MountNamedPipe = mount.TypeNamedPipe MountImage = mount.TypeImage MountCluster = mount.TypeCluster )
const ( ConsistencyFull = mount.ConsistencyFull ConsistencyCached = mount.ConsistencyCached ConsistencyDelegated = mount.ConsistencyDelegated ConsistencyDefault = mount.ConsistencyDefault )
const ( RestartPolicyNo = container.RestartPolicyDisabled RestartPolicyOnFailure = container.RestartPolicyOnFailure RestartPolicyAlways = container.RestartPolicyAlways RestartPolicyUnlessStopped = container.RestartPolicyUnlessStopped )
Variables ¶
var ( IpcHost = container.IPCModeHost IpcPrivate = container.IPCModePrivate IpcNone = container.IPCModeNone )
var ( CgroupHost = container.CgroupnsModeHost CgroupPrivate = container.CgroupnsModePrivate )
var ( IsolationDefault = container.IsolationDefault IsolationProcess = container.IsolationProcess IsolationHyperV = container.IsolationHyperV )
Functions ¶
func ValidateIpcMode ¶
ValidateIpcMode reports an invalid container-join mode. The zero value is valid.
func ValidateNetworkMode ¶
func ValidateNetworkMode(m NetworkMode) error
ValidateNetworkMode reports an invalid container-join mode. The zero value is valid.
func ValidatePidMode ¶
ValidatePidMode reports an invalid container-join mode. The zero value is valid.
Types ¶
type ByteSize ¶
type ByteSize = composetypes.UnitBytes
ByteSize is Compose composetypes.UnitBytes.
func ParseByteSize ¶
ParseByteSize parses a Docker size string. "100M" and "100MiB" are both 100 mebibytes.
type Capability ¶
type Capability string
Capability is a Linux capability granted or dropped on a container.
const ( // Write records to audit log AUDIT_WRITE Capability = "AUDIT_WRITE" // Make arbitrary changes to file ownership CHOWN Capability = "CHOWN" // Bypass file read/write/execute permission checks DAC_OVERRIDE Capability = "DAC_OVERRIDE" // Bypass file ownership checks FOWNER Capability = "FOWNER" // Set process UID/GID FSETID Capability = "FSETID" // Terminate processes KILL Capability = "KILL" // Create special files MKNOD Capability = "MKNOD" // Bind to low-numbered ports NET_BIND_SERVICE Capability = "NET_BIND_SERVICE" // Use raw sockets NET_RAW Capability = "NET_RAW" // Set file capabilities SETFCAP Capability = "SETFCAP" // Set group ID SETGID Capability = "SETGID" // Set process capabilities SETPCAP Capability = "SETPCAP" // Set user ID SETUID Capability = "SETUID" // Use chroot() SYS_CHROOT Capability = "SYS_CHROOT" )
Default capabilities granted to containers
const ( // Configure auditing and audit rules AUDIT_CONTROL Capability = "AUDIT_CONTROL" // Read auditing and audit rules AUDIT_READ Capability = "AUDIT_READ" )
Audit related capabilities
const ( // Employ block devices BLOCK_SUSPEND Capability = "BLOCK_SUSPEND" // Use BPF (Berkeley Packet Filter) BPF Capability = "BPF" // Use process checkpoint/restore CHECKPOINT_RESTORE Capability = "CHECKPOINT_RESTORE" // Read files and directories DAC_READ_SEARCH Capability = "DAC_READ_SEARCH" // Perform admin tasks, like mount filesystems SYS_ADMIN Capability = "SYS_ADMIN" // Use reboot() SYS_BOOT Capability = "SYS_BOOT" // Load and unload kernel modules SYS_MODULE Capability = "SYS_MODULE" // Configure process accounting SYS_PACCT Capability = "SYS_PACCT" // Perform I/O port operations SYS_RAWIO Capability = "SYS_RAWIO" // Set system time SYS_TIME Capability = "SYS_TIME" // Configure tty devices SYS_TTY_CONFIG Capability = "SYS_TTY_CONFIG" // Configure syslog SYSLOG Capability = "SYSLOG" )
System administration capabilities
const ( // Lock memory IPC_LOCK Capability = "IPC_LOCK" // Become IPC namespace owner IPC_OWNER Capability = "IPC_OWNER" // Establish leases on filesystem objects LEASE Capability = "LEASE" // Set immutable attributes on files LINUX_IMMUTABLE Capability = "LINUX_IMMUTABLE" // Modify priority for arbitrary processes SYS_NICE Capability = "SYS_NICE" // Trace arbitrary processes using ptrace SYS_PTRACE Capability = "SYS_PTRACE" // Override resource limits SYS_RESOURCE Capability = "SYS_RESOURCE" // Set alarm to wake system WAKE_ALARM Capability = "WAKE_ALARM" )
Process and resource management capabilities
const ( // Perform network administration tasks NET_ADMIN Capability = "NET_ADMIN" // Broadcast and listen to multicast NET_BROADCAST Capability = "NET_BROADCAST" )
Network administration capabilities
const ( // Configure MAC (Mandatory Access Control) policy MAC_ADMIN Capability = "MAC_ADMIN" // Override MAC policy MAC_OVERRIDE Capability = "MAC_OVERRIDE" // Access perf_event Open() hypercall PERFMON Capability = "PERFMON" )
Security policy capabilities
const ALL Capability = "ALL"
ALL all capabilities
type ConsoleSize ¶
type ConsoleSize [2]uint
ConsoleSize is the Docker HostConfig console size (height, width).
type Cpuset ¶
type Cpuset string
Cpuset is a Docker CpusetCpus / CpusetMems list, such as "0-3,5".
func ParseCpuset ¶
ParseCpuset checks a cpuset list and returns it.
type DeviceRequest ¶
type DeviceRequest = container.DeviceRequest
DeviceRequest is container.DeviceRequest.
type IpcMode ¶
IpcMode is container.IpcMode.
func IpcContainer ¶
IpcContainer joins the named container's IPC namespace.
type MergedConfig ¶
type MergedConfig struct {
Container *container.Config // the container configuration
Host *container.HostConfig // the host configuration
Network *network.NetworkingConfig // the network configuration
Platform *ocispec.Platform // the platform configuration
}
MergedConfig is the Docker SDK create config for a container.
type MountConsistency ¶
type MountConsistency = mount.Consistency
MountConsistency is a bind-mount consistency mode.
type MountPropagation ¶
type MountPropagation = mount.Propagation
MountPropagation is a bind-mount propagation mode.
type NetworkMode ¶
type NetworkMode = container.NetworkMode
NetworkMode is container.NetworkMode.
var ( NetworkBridge NetworkMode = network.NetworkBridge NetworkHost NetworkMode = network.NetworkHost NetworkNone NetworkMode = network.NetworkNone )
func NetworkContainer ¶
func NetworkContainer(name string) NetworkMode
NetworkContainer joins the named container's network namespace.
type PidMode ¶
PidMode is container.PidMode.
var PidHost PidMode = "host"
PidHost uses the host PID namespace.
func PidContainer ¶
PidContainer joins the named container's PID namespace.
type PortBinding ¶
PortBinding publishes one container port on the host. Host() is the nat.PortBinding; Protocol and ContainerPort become the nat.Port map key. An empty Protocol is treated as TCP, and an empty HostIP as 0.0.0.0, when the binding is applied.
func NewPortBinding ¶
func NewPortBinding(protocol Protocol, hostIP string, hostPort string, containerPort string) PortBinding
func (PortBinding) Host ¶
func (p PortBinding) Host() nat.PortBinding
Host returns the Docker nat.PortBinding.
type Resources ¶
type Resources = composetypes.Resource
Resources is Compose composetypes.Resource (deploy limits / reservations).
type RestartPolicy ¶
type RestartPolicy = container.RestartPolicyMode
RestartPolicy is container.RestartPolicyMode.
type UTSMode ¶
UTSMode is container.UTSMode.
var UTSHost UTSMode = "host"
UTSHost uses the host UTS namespace.
type UserNSMode ¶
type UserNSMode = container.UsernsMode
UserNSMode is container.UsernsMode.
var ( UserNSHost UserNSMode = "host" UserNSPrivate UserNSMode )