Merge pull request #20863 from thaJeztah/add-kernel-memory-warning
Add KernelMemory to "info" and show warning
This commit is contained in:
commit
15e68dc8ee
|
@ -105,6 +105,9 @@ func (cli *DockerCli) CmdInfo(args ...string) error {
|
||||||
if !info.SwapLimit {
|
if !info.SwapLimit {
|
||||||
fmt.Fprintln(cli.err, "WARNING: No swap limit support")
|
fmt.Fprintln(cli.err, "WARNING: No swap limit support")
|
||||||
}
|
}
|
||||||
|
if !info.KernelMemory {
|
||||||
|
fmt.Fprintln(cli.err, "WARNING: No kernel memory limit support")
|
||||||
|
}
|
||||||
if !info.OomKillDisable {
|
if !info.OomKillDisable {
|
||||||
fmt.Fprintln(cli.err, "WARNING: No oom kill disable support")
|
fmt.Fprintln(cli.err, "WARNING: No oom kill disable support")
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,6 +111,7 @@ func (daemon *Daemon) SystemInfo() (*types.Info, error) {
|
||||||
if runtime.GOOS != "windows" {
|
if runtime.GOOS != "windows" {
|
||||||
v.MemoryLimit = sysInfo.MemoryLimit
|
v.MemoryLimit = sysInfo.MemoryLimit
|
||||||
v.SwapLimit = sysInfo.SwapLimit
|
v.SwapLimit = sysInfo.SwapLimit
|
||||||
|
v.KernelMemory = sysInfo.KernelMemory
|
||||||
v.OomKillDisable = sysInfo.OomKillDisable
|
v.OomKillDisable = sysInfo.OomKillDisable
|
||||||
v.CPUCfsPeriod = sysInfo.CPUCfsPeriod
|
v.CPUCfsPeriod = sysInfo.CPUCfsPeriod
|
||||||
v.CPUCfsQuota = sysInfo.CPUCfsQuota
|
v.CPUCfsQuota = sysInfo.CPUCfsQuota
|
||||||
|
|
|
@ -122,6 +122,7 @@ This section lists each version from latest to oldest. Each listing includes a
|
||||||
* `POST /containers/(name)/update` now supports updating container's restart policy.
|
* `POST /containers/(name)/update` now supports updating container's restart policy.
|
||||||
* `POST /networks/create` now supports enabling ipv6 on the network by setting the `EnableIPv6` field (doing this with a label will no longer work).
|
* `POST /networks/create` now supports enabling ipv6 on the network by setting the `EnableIPv6` field (doing this with a label will no longer work).
|
||||||
* `GET /info` now returns `CgroupDriver` field showing what cgroup driver the daemon is using; `cgroupfs` or `systemd`.
|
* `GET /info` now returns `CgroupDriver` field showing what cgroup driver the daemon is using; `cgroupfs` or `systemd`.
|
||||||
|
* `GET /info` now returns `KernelMemory` field, showing if "kernel memory limit" is supported.
|
||||||
|
|
||||||
### v1.22 API changes
|
### v1.22 API changes
|
||||||
|
|
||||||
|
|
|
@ -2161,6 +2161,7 @@ Display system-wide information
|
||||||
"IndexServerAddress": "https://index.docker.io/v1/",
|
"IndexServerAddress": "https://index.docker.io/v1/",
|
||||||
"InitPath": "/usr/bin/docker",
|
"InitPath": "/usr/bin/docker",
|
||||||
"InitSha1": "",
|
"InitSha1": "",
|
||||||
|
"KernelMemory": true,
|
||||||
"KernelVersion": "3.12.0-1-amd64",
|
"KernelVersion": "3.12.0-1-amd64",
|
||||||
"Labels": [
|
"Labels": [
|
||||||
"storage=ssd"
|
"storage=ssd"
|
||||||
|
|
|
@ -24,7 +24,7 @@ clone git golang.org/x/net 47990a1ba55743e6ef1affd3a14e5bac8553615d https://gith
|
||||||
clone git golang.org/x/sys eb2c74142fd19a79b3f237334c7384d5167b1b46 https://github.com/golang/sys.git
|
clone git golang.org/x/sys eb2c74142fd19a79b3f237334c7384d5167b1b46 https://github.com/golang/sys.git
|
||||||
clone git github.com/docker/go-units 651fc226e7441360384da338d0fd37f2440ffbe3
|
clone git github.com/docker/go-units 651fc226e7441360384da338d0fd37f2440ffbe3
|
||||||
clone git github.com/docker/go-connections v0.2.0
|
clone git github.com/docker/go-connections v0.2.0
|
||||||
clone git github.com/docker/engine-api 70d266e96080e3c3d63c55a4d8659e00ac1f7e6c
|
clone git github.com/docker/engine-api 7108f731dd4aeede9a259d0b1a86f0b7d94f12c2
|
||||||
clone git github.com/RackSec/srslog 6eb773f331e46fbba8eecb8e794e635e75fc04de
|
clone git github.com/RackSec/srslog 6eb773f331e46fbba8eecb8e794e635e75fc04de
|
||||||
clone git github.com/imdario/mergo 0.2.1
|
clone git github.com/imdario/mergo 0.2.1
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,30 @@ func (n IpcMode) Container() string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UsernsMode represents userns mode in the container.
|
||||||
|
type UsernsMode string
|
||||||
|
|
||||||
|
// IsHost indicates whether the container uses the host's userns.
|
||||||
|
func (n UsernsMode) IsHost() bool {
|
||||||
|
return n == "host"
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsPrivate indicates whether the container uses the a private userns.
|
||||||
|
func (n UsernsMode) IsPrivate() bool {
|
||||||
|
return !(n.IsHost())
|
||||||
|
}
|
||||||
|
|
||||||
|
// Valid indicates whether the userns is valid.
|
||||||
|
func (n UsernsMode) Valid() bool {
|
||||||
|
parts := strings.Split(string(n), ":")
|
||||||
|
switch mode := parts[0]; mode {
|
||||||
|
case "", "host":
|
||||||
|
default:
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// UTSMode represents the UTS namespace of the container.
|
// UTSMode represents the UTS namespace of the container.
|
||||||
type UTSMode string
|
type UTSMode string
|
||||||
|
|
||||||
|
@ -180,6 +204,7 @@ type Resources struct {
|
||||||
CpusetCpus string // CpusetCpus 0-2, 0,1
|
CpusetCpus string // CpusetCpus 0-2, 0,1
|
||||||
CpusetMems string // CpusetMems 0-2, 0,1
|
CpusetMems string // CpusetMems 0-2, 0,1
|
||||||
Devices []DeviceMapping // List of devices to map inside the container
|
Devices []DeviceMapping // List of devices to map inside the container
|
||||||
|
DiskQuota int64 // Disk limit (in bytes)
|
||||||
KernelMemory int64 // Kernel memory limit (in bytes)
|
KernelMemory int64 // Kernel memory limit (in bytes)
|
||||||
Memory int64 // Memory limit (in bytes)
|
Memory int64 // Memory limit (in bytes)
|
||||||
MemoryReservation int64 // Memory soft limit (in bytes)
|
MemoryReservation int64 // Memory soft limit (in bytes)
|
||||||
|
@ -228,6 +253,7 @@ type HostConfig struct {
|
||||||
PublishAllPorts bool // Should docker publish all exposed port for the container
|
PublishAllPorts bool // Should docker publish all exposed port for the container
|
||||||
ReadonlyRootfs bool // Is the container root filesystem in read-only
|
ReadonlyRootfs bool // Is the container root filesystem in read-only
|
||||||
SecurityOpt []string // List of string values to customize labels for MLS systems, such as SELinux.
|
SecurityOpt []string // List of string values to customize labels for MLS systems, such as SELinux.
|
||||||
|
StorageOpt []string // Storage driver options per container.
|
||||||
Tmpfs map[string]string `json:",omitempty"` // List of tmpfs (mounts) used for the container
|
Tmpfs map[string]string `json:",omitempty"` // List of tmpfs (mounts) used for the container
|
||||||
UTSMode UTSMode // UTS namespace to use for the container
|
UTSMode UTSMode // UTS namespace to use for the container
|
||||||
ShmSize int64 // Total shm memory usage
|
ShmSize int64 // Total shm memory usage
|
||||||
|
|
|
@ -204,6 +204,7 @@ type Info struct {
|
||||||
Plugins PluginsInfo
|
Plugins PluginsInfo
|
||||||
MemoryLimit bool
|
MemoryLimit bool
|
||||||
SwapLimit bool
|
SwapLimit bool
|
||||||
|
KernelMemory bool
|
||||||
CPUCfsPeriod bool `json:"CpuCfsPeriod"`
|
CPUCfsPeriod bool `json:"CpuCfsPeriod"`
|
||||||
CPUCfsQuota bool `json:"CpuCfsQuota"`
|
CPUCfsQuota bool `json:"CpuCfsQuota"`
|
||||||
CPUShares bool
|
CPUShares bool
|
||||||
|
|
Loading…
Reference in New Issue