docker: github.com/docker/docker/pkg/sysinfo Index | Files

package sysinfo

import "github.com/docker/docker/pkg/sysinfo"

Index

Package Files

cgroup2_linux.go numcpu_linux.go sysinfo.go sysinfo_linux.go

func NumCPU Uses

func NumCPU() int

NumCPU returns the number of CPUs which are currently online

type Opt Uses

type Opt func(*opts)

Opt for New().

func WithCgroup2GroupPath Uses

func WithCgroup2GroupPath(g string) Opt

WithCgroup2GroupPath specifies the cgroup v2 group path to inspect availability of the controllers.

WithCgroup2GroupPath is expected to be used for rootless mode with systemd driver.

e.g. g = "/user.slice/user-1000.slice/user@1000.service"

type SysInfo Uses

type SysInfo struct {
    // Whether the kernel supports AppArmor or not
    AppArmor bool
    // Whether the kernel supports Seccomp or not
    Seccomp bool

    // Whether the kernel supports cgroup namespaces or not
    CgroupNamespaces bool

    // Whether IPv4 forwarding is supported or not, if this was disabled, networking will not work
    IPv4ForwardingDisabled bool

    // Whether bridge-nf-call-iptables is supported or not
    BridgeNFCallIPTablesDisabled bool

    // Whether bridge-nf-call-ip6tables is supported or not
    BridgeNFCallIP6TablesDisabled bool

    // Whether the cgroup has the mountpoint of "devices" or not
    CgroupDevicesEnabled bool

    // Whether the cgroup is in unified mode (v2).
    CgroupUnified bool
    // contains filtered or unexported fields
}

SysInfo stores information about which features a kernel supports. TODO Windows: Factor out platform specific capabilities.

func New Uses

func New(quiet bool, options ...Opt) *SysInfo

New returns a new SysInfo, using the filesystem to detect which features the kernel supports. If `quiet` is `false` warnings are printed in logs whenever an error occurs or misconfigurations are present.

func (SysInfo) IsCpusetCpusAvailable Uses

func (c SysInfo) IsCpusetCpusAvailable(provided string) (bool, error)

IsCpusetCpusAvailable returns `true` if the provided string set is contained in cgroup's cpuset.cpus set, `false` otherwise. If error is not nil a parsing error occurred.

func (SysInfo) IsCpusetMemsAvailable Uses

func (c SysInfo) IsCpusetMemsAvailable(provided string) (bool, error)

IsCpusetMemsAvailable returns `true` if the provided string set is contained in cgroup's cpuset.mems set, `false` otherwise. If error is not nil a parsing error occurred.

Package sysinfo imports 14 packages (graph) and is imported by 1937 packages. Updated 2020-11-11. Refresh now. Tools for package owners.