Docker

In this section you will learn how to get information about docker, images, containers, container 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
Example
const si = require('systeminformation');
si.dockerInfo().then(data => console.log(data));
{
  id: 'x3lk...',
  containers: 3,
  containersRunning: 2,
  containersPaused: 0,
  containersStopped: 1,
  images: 12,
  memoryLimit: true,
  swapLimit: true,
  kernelMemory: true,
  operatingSystem: 'Docker Desktop',
  osType: 'linux',
  architecture: 'aarch64',
  ncpu: 8,
  memTotal: 8232349696,
  dockerRootDir: '/var/lib/docker',
  serverVersion: '29.5.3',
  ...
}
si.dockerImages(all, cb) [{...}] X X X X X returns array of top level/all docker images
[0].id X X X X X image ID
[0].container X X X X X container ID
[0].comment X X X X X comment
[0].os X X X X X OS
[0].architecture X X X X X architecture
[0].parent X X X X X parent ID
[0].dockerVersion X X X X X docker version
[0].size X X X X X image size
[0].sharedSize X X X X X shared size
[0].virtualSize X X X X X virtual size
[0].author X X X X X author
[0].created X X X X X created date / time
[0].containerConfig X X X X X container config object
[0].graphDriver X X X X X graph driver object
[0].repoDigests X X X X X repo digests array
[0].repoTags X X X X X repo tags array
[0].config X X X X X config object
[0].rootFS X X X X X root fs object
Example
const si = require('systeminformation');
si.dockerImages().then(data => console.log(data));
[
  {
    id: 'sha256:2b0d3b8b02...',
    container: '',
    comment: '',
    os: 'linux',
    architecture: 'arm64',
    parent: '',
    created: 1750935920,
    size: 197588966,
    sharedSize: 0,
    virtualSize: 197588966,
    author: '',
    config: { ... },
    graphDriver: { ... },
    repoDigests: [ 'node@sha256:...' ],
    repoTags: [ 'node:24-alpine' ]
  },
  ...
]
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].status X X X X X healthy, starting, unhealthy
[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].labels X X X X X object of labels (key-value pairs)
[0].ports X X X X X array of ports
[0].mounts X X X X X array of mounts
Example
const si = require('systeminformation');
si.dockerContainers().then(data => console.log(data));
[
  {
    id: '8b9ee343f5...',
    name: 'web',
    image: 'nginx:latest',
    imageID: 'sha256:6a9d9a...',
    command: "/docker-entrypoint.sh nginx -g 'daemon off;'",
    created: 1752480070,
    started: 1752480071,
    finished: 0,
    createdAt: '2026-07-14T08:01:10.000Z',
    startedAt: '2026-07-14T08:01:11.000Z',
    finishedAt: '',
    state: 'running',
    restartCount: 0,
    platform: 'linux',
    driver: 'overlayfs',
    ports: [ { PrivatePort: 80, Type: 'tcp' } ],
    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].memUsage X X X X X memory usage in bytes
[0].memLimit X X X X X memory limit (max mem) in bytes
[0].memPercent X X X X X memory usage in percent
[0].cpuPercent 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].cpuStats X X X X X detailed cpu stats
[0].precpuStats X X X X X cpu statistic of previous read
[0].memoryStats X X X X X detailed memory stats
[0].networks X X X X X detailed network stats per interface
Example
const si = require('systeminformation');
si.dockerContainerStats('*').then(data => console.log(data));
[
  {
    id: '8b9ee343f5...',
    memUsage: 11534336,
    memLimit: 8232349696,
    memPercent: 0.14,
    cpuPercent: 0.02,
    netIO: { rx: 4726, wx: 0 },
    blockIO: { r: 0, w: 12288 },
    restartCount: 0,
    cpuStats: { ... },
    precpuStats: { ... },
    memoryStats: { ... },
    networks: { ... }
  }
]
si.dockerContainerProcesses(id, cb) [{...}] X X X X X array of processes inside a container
[0].pidHost 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
Example
const si = require('systeminformation');
si.dockerContainerProcesses('8b9ee343f5').then(data => console.log(data));
[
  {
    pidHost: '2415',
    ppid: '2394',
    pgid: '2415',
    user: 'root',
    time: '00:00:00',
    elapsed: '2:05:11',
    nice: '0',
    rss: '11264',
    vsz: '11132',
    command: 'nginx: master process nginx -g daemon off;'
  },
  ...
]
si.dockerVolumes(cb) [{...}] X X X X X returns array of docker volumes
[0].name X X X X X volume name
[0].driver X X X X X driver
[0].labels X X X X X labels object
[0].mountpoint X X X X X mountpoint
[0].options X X X X X options
[0].scope X X X X X scope
[0].created X X X X X created at
Example
const si = require('systeminformation');
si.dockerVolumes().then(data => console.log(data));
[
  {
    name: 'db-data',
    driver: 'local',
    labels: {},
    mountpoint: '/var/lib/docker/volumes/db-data/_data',
    options: null,
    scope: 'local',
    created: 1750936010
  }
]
si.dockerAll(cb) {...} X X X X X list of all containers including their stats
and processes in one single array
Example
const si = require('systeminformation');
si.dockerAll().then(data => console.log(data));
[
  {
    id: '8b9ee343f5...',
    name: 'web',
    image: 'nginx:latest',
    state: 'running',
    ...
    memUsage: 11534336,
    memPercent: 0.14,
    cpuPercent: 0.02,
    ...
    processes: [ ... ]
  },
  ...
]