Docker

In this section you will learn how to get information about docker containers, stats and processes inside a docker container:

For function reference and examples we assume, that we imported systeminformation as follows:

const si = require('systeminformation');

Container, Stats, Processes

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

Function Result object Linux BSD Mac Win Sun Comments
si.dockerInfo(cb) {...} X X X X X returns general docker info
id X X X X X Docker ID
containers X X X X X number of containers
containersRunning X X X X X number of running containers
containersPaused X X X X X number of paused containers
containersStopped X X X X X number of stopped containers
images X X X X X number of images
driver X X X X X driver (e.g. 'devicemapper', 'overlay2')
memoryLimit X X X X X has memory limit
SwapLimit X X X X X has swap limit
kernelMemory X X X X X has kernel memory
cpuCfsPeriod X X X X X has CpuCfsPeriod
cpuCfsQuota X X X X X has CpuCfsQuota
cpuShares X X X X X has CPUShares
cpuSet X X X X X has CPUShares
ipv4Forwarding X X X X X has IPv4Forwarding
bridgeNfIptables X X X X X has BridgeNfIptables
bridgeNfIp6tables X X X X X has BridgeNfIp6tables
debug X X X X X Debug on
nfd X X X X X named data networking forwarding daemon
oomKillDisable X X X X X out-of-memory kill disabled
ngoroutines X X X X X number NGoroutines
systemTime X X X X X docker SystemTime
loggingDriver X X X X X logging driver e.g. 'json-file'
cgroupDriver X X X X X cgroup driver e.g. 'cgroupfs'
nEventsListener X X X X X number NEventsListeners
kernelVersion X X X X X docker kernel version
operatingSystem X X X X X docker OS e.g. 'Docker for Mac'
osType X X X X X OSType e.g. 'linux'
architecture X X X X X architecture e.g. x86_64
ncpu X X X X X number of CPUs
memTotal X X X X X memory total
dockerRootDir X X X X X docker root directory
httpProxy X X X X X http proxy
httpsProxy X X X X X https proxy
noProxy X X X X X NoProxy
name X X X X X Name
labels X X X X X array of labels
experimentalBuild X X X X X is experimental build
serverVersion X X X X X server version
clusterStore X X X X X cluster store
clusterAdvertise X X X X X cluster advertise
defaultRuntime X X X X X default runtime e.g. 'runc'
liveRestoreEnabled X X X X X live store enabled
isolation X X X X X isolation
initBinary X X X X X init binary
productLicense X X X X X product license
si.dockerContainers(all, cb) [{...}] X X X X X returns array of active/all docker containers
[0].id X X X X X ID of container
[0].name X X X X X name of container
[0].image X X X X X name of image
[0].imageID X X X X X ID of image
[0].command X X X X X command
[0].created X X X X X creation time (unix time)
[0].started X X X X X started time (unix time)
[0].finished X X X X X finished time (unix time)
[0].createdAt X X X X X creation date time string
[0].startedAt X X X X X creation date time string
[0].finishedAt X X X X X creation date time string
[0].state X X X X X created, running, exited
[0].restartCount X X X X X restart count
[0].platform X X X X X e.g. linux
[0].driver X X X X X e.g. overlay2 or devicemapper
[0].ports X X X X X array of ports
[0].mounts X X X X X array of mounts
si.dockerContainerStats(ids, cb) [{...}] X X X X X statistics for specific containers
container IDs: space or comma separated,
pass '*' for all containers
[0].id X X X X X Container ID
[0].mem_usage X X X X X memory usage in bytes
[0].mem_limit X X X X X memory limit (max mem) in bytes
[0].mem_percent X X X X X memory usage in percent
[0].cpu_percent X X X X X cpu usage in percent
[0].pids X X X X X number of processes
[0].netIO.rx X X X X X received bytes via network
[0].netIO.wx X X X X X sent bytes via network
[0].blockIO.r X X X X X bytes read from BlockIO
[0].blockIO.w X X X X X bytes written to BlockIO
[0].restartCount X X X X X restart count
[0].cpu_stats X X X X X detailed cpu stats
[0].percpu_stats X X X X X detailed per cpu stats
[0].memory_stats X X X X X detailed memory stats
[0].networks X X X X X detailed network stats per interface
si.dockerContainerProcesses(id, cb) [{...}] X X X X X array of processes inside a container
[0].pid_host X X X X X process ID (host)
[0].ppid X X X X X parent process ID
[0].pgid X X X X X process group ID
[0].user X X X X X effective user name
[0].ruser X X X X X real user name
[0].group X X X X X effective group name
[0].rgroup X X X X X real group name
[0].stat X X X X X process state
[0].time X X X X X accumulated CPU time
[0].elapsed X X X X X elapsed running time
[0].nice X X X X X nice value
[0].rss X X X X X resident set size
[0].vsz X X X X X virtual size in Kbytes
[0].command X X X X X command and arguments
si.dockerAll(cb) {...} X X X X X list of all containers including their stats
and processes in one single array