---
title: "Get system information"
method: GET
path: "/info"
tags: ["System"]
---

# Get system information

`GET /info`

## Response `200`

No error

- SystemInfo
  - `ID` string — Unique identifier of the daemon. <p><br /></p> > **Note**: The format of the ID itself is not part of the API, and > should not be considered stable.
  - `Containers` integer — Total number of containers on the host.
  - `ContainersRunning` integer — Number of containers with status `"running"`.
  - `ContainersPaused` integer — Number of containers with status `"paused"`.
  - `ContainersStopped` integer — Number of containers with status `"stopped"`.
  - `Images` integer — Total number of images on the host. Both _tagged_ and _untagged_ (dangling) images are counted.
  - `Driver` string — Name of the storage driver in use.
  - `DriverStatus` array[] — Information specific to the storage driver, provided as "label" / "value" pairs. This information is provided by the storage driver, and formatted in a way consistent with the output of `docker info` on the command line. <p><br /></p> > **Note**: The information returned in this field, including the > formatting of values and labels, should not be considered stable, > and may change without notice.
    - string[]
  - `DockerRootDir` string — Root directory of persistent Docker state. Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` on Windows.
  - `Plugins` PluginsInfo — Available plugins per type. <p><br /></p> > **Note**: Only unmanaged (V1) plugins are included in this list. > V1 plugins are "lazily" loaded, and are not returned in this list > if there is no resource using the plugin.
    - `Volume` string[] — Names of available volume-drivers, and network-driver plugins.
    - `Network` string[] — Names of available network-drivers, and network-driver plugins.
    - `Authorization` string[] — Names of available authorization plugins.
    - `Log` string[] — Names of available logging-drivers, and logging-driver plugins.
  - `MemoryLimit` boolean — Indicates if the host has memory limit support enabled.
  - `SwapLimit` boolean — Indicates if the host has memory swap limit support enabled.
  - `KernelMemoryTCP` boolean — Indicates if the host has kernel memory TCP limit support enabled. This field is omitted if not supported. Kernel memory TCP limits are not supported when using cgroups v2, which does not support the corresponding `memory.kmem.tcp.limit_in_bytes` cgroup.
  - `CpuCfsPeriod` boolean — Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host.
  - `CpuCfsQuota` boolean — Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host.
  - `CPUShares` boolean — Indicates if CPU Shares limiting is supported by the host.
  - `CPUSet` boolean — Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host. See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
  - `PidsLimit` boolean — Indicates if the host kernel has PID limit support enabled.
  - `OomKillDisable` boolean — Indicates if OOM killer disable is supported on the host.
  - `IPv4Forwarding` boolean — Indicates IPv4 forwarding is enabled.
  - `BridgeNfIptables` boolean — Indicates if `bridge-nf-call-iptables` is available on the host when the daemon was started. <p><br /></p> > **Deprecated**: netfilter module is now loaded on-demand and no longer > during daemon startup, making this field obsolete. This field is always > `false` and will be removed in a API v1.49.
  - `BridgeNfIp6tables` boolean — Indicates if `bridge-nf-call-ip6tables` is available on the host. <p><br /></p> > **Deprecated**: netfilter module is now loaded on-demand, and no longer > during daemon startup, making this field obsolete. This field is always > `false` and will be removed in a API v1.49.
  - `Debug` boolean — Indicates if the daemon is running in debug-mode / with debug-level logging enabled.
  - `NFd` integer — The total number of file Descriptors in use by the daemon process. This information is only returned if debug-mode is enabled.
  - `NGoroutines` integer — The number of goroutines that currently exist. This information is only returned if debug-mode is enabled.
  - `SystemTime` string — Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
  - `LoggingDriver` string — The logging driver to use as a default for new containers.
  - `CgroupDriver` 'cgroupfs' | 'systemd' | 'none' — The driver to use for managing cgroups.
  - `CgroupVersion` '1' | '2' — The version of the cgroup.
  - `NEventsListener` integer — Number of event listeners subscribed.
  - `KernelVersion` string — Kernel version of the host. On Linux, this information obtained from `uname`. On Windows this information is queried from the <kbd>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\</kbd> registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_.
  - `OperatingSystem` string — Name of the host's operating system, for example: "Ubuntu 24.04 LTS" or "Windows Server 2016 Datacenter"
  - `OSVersion` string — Version of the host's operating system <p><br /></p> > **Note**: The information returned in this field, including its > very existence, and the formatting of values, should not be considered > stable, and may change without notice.
  - `OSType` string — Generic type of the operating system of the host, as returned by the Go runtime (`GOOS`). Currently returned values are "linux" and "windows". A full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).
  - `Architecture` string — Hardware architecture of the host, as returned by the Go runtime (`GOARCH`). A full list of possible values can be found in the [Go documentation](https://go.dev/doc/install/source#environment).
  - `NCPU` integer — The number of logical CPUs usable by the daemon. The number of available CPUs is checked by querying the operating system when the daemon starts. Changes to operating system CPU allocation after the daemon is started are not reflected.
  - `MemTotal` integer — Total amount of physical memory available on the host, in bytes.
  - `IndexServerAddress` string — Address / URL of the index server that is used for image search, and as a default for user authentication for Docker Hub and Docker Cloud.
  - `RegistryConfig` RegistryServiceConfig, nullable — RegistryServiceConfig stores daemon registry services configuration.
    - `InsecureRegistryCIDRs` string[] — List of IP ranges of insecure registries, using the CIDR syntax ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs) communication. By default, local registries (`::1/128` and `127.0.0.0/8`) are configured as insecure. All other registries are secure. Communicating with an insecure registry is not possible if the daemon assumes that registry is secure. This configuration override this behavior, insecure communication with registries whose resolved IP address is within the subnet described by the CIDR syntax. Registries can also be marked insecure by hostname. Those registries are listed under `IndexConfigs` and have their `Secure` field set to `false`. > **Warning**: Using this option can be useful when running a local > registry, but introduces security vulnerabilities. This option > should therefore ONLY be used for testing purposes. For increased > security, users should add their CA to their system's list of trusted > CAs instead of enabling this option.
    - `IndexConfigs` object
    - `Mirrors` string[] — List of registry URLs that act as a mirror for the official (`docker.io`) registry.
  - `GenericResources` object[] — User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, `GPU=UUID1`).
    - `NamedResourceSpec` object
      - `Kind` string
      - `Value` string
    - `DiscreteResourceSpec` object
      - `Kind` string
      - `Value` integer
  - `HttpProxy` string — HTTP-proxy configured for the daemon. This value is obtained from the [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL are masked in the API response. Containers do not automatically inherit this configuration.
  - `HttpsProxy` string — HTTPS-proxy configured for the daemon. This value is obtained from the [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. Credentials ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in the proxy URL are masked in the API response. Containers do not automatically inherit this configuration.
  - `NoProxy` string — Comma-separated list of domain extensions for which no proxy should be used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. Containers do not automatically inherit this configuration.
  - `Name` string — Hostname of the host.
  - `Labels` string[] — User-defined labels (key/value metadata) as set on the daemon. <p><br /></p> > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, > set through the daemon configuration, and _node_ labels, set from a > manager node in the Swarm. Node labels are not included in this > field. Node labels can be retrieved using the `/nodes/(id)` endpoint > on a manager node in the Swarm.
  - `ExperimentalBuild` boolean — Indicates if experimental features are enabled on the daemon.
  - `ServerVersion` string — Version string of the daemon.
  - `Runtimes` object — List of [OCI compliant](https://github.com/opencontainers/runtime-spec) runtimes configured on the daemon. Keys hold the "name" used to reference the runtime. The Docker daemon relies on an OCI compliant runtime (invoked via the `containerd` daemon) as its interface to the Linux kernel namespaces, cgroups, and SELinux. The default runtime is `runc`, and automatically configured. Additional runtimes can be configured by the user and will be listed here.
  - `DefaultRuntime` string — Name of the default OCI runtime that is used when starting containers. The default can be overridden per-container at create time.
  - `Swarm` SwarmInfo — Represents generic information about swarm.
    - `NodeID` string — Unique identifier of for this node in the swarm.
    - `NodeAddr` string — IP address at which this node can be reached by other nodes in the swarm.
    - `LocalNodeState` '' | 'inactive' | 'pending' | 'active' | 'error' | 'locked' — Current local status of this node.
    - `ControlAvailable` boolean
    - `Error` string
    - `RemoteManagers` PeerNode[], nullable — List of ID's and addresses of other managers in the swarm.
      - `NodeID` string — Unique identifier of for this node in the swarm.
      - `Addr` string — IP address and ports at which this node can be reached.
    - `Nodes` integer, nullable — Total number of nodes in the swarm.
    - `Managers` integer, nullable — Total number of managers in the swarm.
    - `Cluster` ClusterInfo, nullable — ClusterInfo represents information about the swarm as is returned by the "/info" endpoint. Join-tokens are not included.
      - `ID` string — The ID of the swarm.
      - `Version` ObjectVersion — The version number of the object such as node, service, etc. This is needed to avoid conflicting writes. The client must send the version number along with the modified specification when updating these objects. This approach ensures safe concurrency and determinism in that the change on the object may not be applied if the version number has changed from the last read. In other words, if two update requests specify the same base version, only one of the requests can succeed. As a result, two separate update requests that happen at the same time will not unintentionally overwrite each other.
        - `Index` integer
      - `CreatedAt` string, dateTime — Date and time at which the swarm was initialised in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
      - `UpdatedAt` string, dateTime — Date and time at which the swarm was last updated in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
      - `Spec` SwarmSpec — User modifiable swarm configuration.
        - `Name` string — Name of the swarm.
        - `Labels` object — User-defined key/value metadata.
        - `Orchestration` object, nullable — Orchestration configuration.
          - `TaskHistoryRetentionLimit` integer — The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks.
        - `Raft` object — Raft configuration.
          - `SnapshotInterval` integer — The number of log entries between snapshots.
          - `KeepOldSnapshots` integer — The number of snapshots to keep beyond the current snapshot.
          - `LogEntriesForSlowFollowers` integer — The number of log entries to keep around to sync up slow followers after a snapshot is created.
          - `ElectionTick` integer — The number of ticks that a follower will wait for a message from the leader before becoming a candidate and starting an election. `ElectionTick` must be greater than `HeartbeatTick`. A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
          - `HeartbeatTick` integer — The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers. A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed.
        - `Dispatcher` object, nullable — Dispatcher configuration.
          - `HeartbeatPeriod` integer — The delay for an agent to send a heartbeat to the dispatcher.
        - `CAConfig` object, nullable — CA configuration.
          - `NodeCertExpiry` integer — The duration node certificates are issued for.
          - `ExternalCAs` object[] — Configuration for forwarding signing requests to an external certificate authority.
            - `Protocol` 'cfssl' — Protocol for communication with the external CA (currently only `cfssl` is supported).
            - `URL` string — URL where certificate signing requests should be sent.
            - `Options` object — An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver.
            - `CACert` string — The root CA certificate (in PEM format) this external CA uses to issue TLS certificates (assumed to be to the current swarm root CA certificate if not provided).
          - `SigningCACert` string — The desired signing CA certificate for all swarm node TLS leaf certificates, in PEM format.
          - `SigningCAKey` string — The desired signing CA key for all swarm node TLS leaf certificates, in PEM format.
          - `ForceRotate` integer — An integer whose purpose is to force swarm to generate a new signing CA certificate and key, if none have been specified in `SigningCACert` and `SigningCAKey`
        - `EncryptionConfig` object — Parameters related to encryption-at-rest.
          - `AutoLockManagers` boolean — If set, generate a key and use it to lock data stored on the managers.
        - `TaskDefaults` object — Defaults for creating tasks in this cluster.
          - `LogDriver` object — The log driver to use for tasks created in the orchestrator if unspecified by a service. Updating this value only affects new tasks. Existing tasks continue to use their previously configured log driver until recreated.
            - `Name` string — The log driver to use as a default for new tasks.
            - `Options` object — Driver-specific options for the selected log driver, specified as key/value pairs.
      - `TLSInfo` TLSInfo — Information about the issuer of leaf TLS certificates and the trusted root CA certificate.
        - `TrustRoot` string — The root CA certificate(s) that are used to validate leaf TLS certificates.
        - `CertIssuerSubject` string — The base64-url-safe-encoded raw subject bytes of the issuer.
        - `CertIssuerPublicKey` string — The base64-url-safe-encoded raw public key bytes of the issuer.
      - `RootRotationInProgress` boolean — Whether there is currently a root CA rotation in progress for the swarm
      - `DataPathPort` integer — DataPathPort specifies the data path port number for data traffic. Acceptable port range is 1024 to 49151. If no port is set or is set to 0, the default port (4789) is used.
      - `DefaultAddrPool` string[] — Default Address Pool specifies default subnet pools for global scope networks.
      - `SubnetSize` integer — SubnetSize specifies the subnet size of the networks created from the default subnet pool.
  - `LiveRestoreEnabled` boolean — Indicates if live restore is enabled. If enabled, containers are kept running when the daemon is shutdown or upon daemon start if running containers are detected.
  - `Isolation` 'default' | 'hyperv' | 'process' | '' — Represents the isolation technology to use as a default for containers. The supported values are platform-specific. If no isolation value is specified on daemon start, on Windows client, the default is `hyperv`, and on Windows server, the default is `process`. This option is currently not used on other platforms.
  - `InitBinary` string — Name and, optional, path of the `docker-init` binary. If the path is omitted, the daemon searches the host's `$PATH` for the binary and uses the first result.
  - `ContainerdCommit` Commit — Commit holds the Git-commit (SHA1) that a binary was built from, as reported in the version-string of external tools, such as `containerd`, or `runC`.
    - `ID` string — Actual commit ID of external tool.
  - `RuncCommit` Commit — Commit holds the Git-commit (SHA1) that a binary was built from, as reported in the version-string of external tools, such as `containerd`, or `runC`.
    - `ID` string — Actual commit ID of external tool.
  - `InitCommit` Commit — Commit holds the Git-commit (SHA1) that a binary was built from, as reported in the version-string of external tools, such as `containerd`, or `runC`.
    - `ID` string — Actual commit ID of external tool.
  - `SecurityOptions` string[] — List of security features that are enabled on the daemon, such as apparmor, seccomp, SELinux, user-namespaces (userns), rootless and no-new-privileges. Additional configuration options for each security feature may be present, and are included as a comma-separated list of key/value pairs.
  - `ProductLicense` string — Reports a summary of the product license on the daemon. If a commercial license has been applied to the daemon, information such as number of nodes, and expiration are included.
  - `DefaultAddressPools` object[] — List of custom default address pools for local networks, which can be specified in the daemon.json file or dockerd option. Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256 10.10.[0-255].0/24 address pools.
    - `Base` string — The network address in CIDR format
    - `Size` integer — The network pool size
  - `FirewallBackend` FirewallInfo, nullable — Information about the daemon's firewalling configuration. This field is currently only used on Linux, and omitted on other platforms.
    - `Driver` string — The name of the firewall backend driver.
    - `Info` array[] — Information about the firewall backend, provided as "label" / "value" pairs. <p><br /></p> > **Note**: The information returned in this field, including the > formatting of values and labels, should not be considered stable, > and may change without notice.
      - string[]
  - `DiscoveredDevices` DeviceInfo[] — List of devices discovered by device drivers. Each device includes information about its source driver, kind, name, and additional driver-specific attributes.
    - `Source` string — The origin device driver.
    - `ID` string — The unique identifier for the device within its source driver. For CDI devices, this would be an FQDN like "vendor.com/gpu=0".
  - `Warnings` string[] — List of warnings / informational messages about missing features, or issues related to the daemon configuration. These messages can be printed by the client as information to the user.
  - `CDISpecDirs` string[] — List of directories where (Container Device Interface) CDI specifications are located. These specifications define vendor-specific modifications to an OCI runtime specification for a container being created. An empty list indicates that CDI device injection is disabled. Note that since using CDI device injection requires the daemon to have experimental enabled. For non-experimental daemons an empty list will always be returned.
  - `Containerd` ContainerdInfo, nullable — Information for connecting to the containerd instance that is used by the daemon. This is included for debugging purposes only.
    - `Address` string — The address of the containerd socket.
    - `Namespaces` object — The namespaces that the daemon uses for running containers and plugins in containerd. These namespaces can be configured in the daemon configuration, and are considered to be used exclusively by the daemon, Tampering with the containerd instance may cause unexpected behavior. As these namespaces are considered to be exclusively accessed by the daemon, it is not recommended to change these values, or to change them to a value that is used by other systems, such as cri-containerd.
      - `Containers` string — The default containerd namespace used for containers managed by the daemon. The default namespace for containers is "moby", but will be suffixed with the `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the containerd image-store is used.
      - `Plugins` string — The default containerd namespace used for plugins managed by the daemon. The default namespace for plugins is "plugins.moby", but will be suffixed with the `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the containerd image-store is used.

## Other responses

- `500` — Server error

---

[API](https://skmtc.net/nhost/apis/docker-engine-api.md) · [All operations](https://skmtc.net/nhost/apis/docker-engine-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nhost/docker-engine-api/versions/2b8dc7a7cc52/schema)
