---
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.
  - `BridgeNfIp6tables` boolean — Indicates if `bridge-nf-call-ip6tables` is available on the host.
  - `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 16.04.2 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://golang.org/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://golang.org/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.
    - `AllowNondistributableArtifactsCIDRs` string[] — List of IP ranges to which nondistributable artifacts can be pushed, using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). Some images (for example, Windows base images) contain artifacts whose distribution is restricted by license. When these images are pushed to a registry, restricted artifacts are not included. This configuration override this behavior, and enables the daemon to push nondistributable artifacts to all registries whose resolved IP address is within the subnet described by the CIDR syntax. This option is useful when pushing images containing nondistributable artifacts to a registry on an air-gapped network so hosts on that network can pull the images without connecting to another server. > **Warning**: Nondistributable artifacts typically have restrictions > on how and where they can be distributed and shared. Only use this > feature to push artifacts to private registries and ensure that you > are in compliance with any terms that cover redistributing > nondistributable artifacts.
    - `AllowNondistributableArtifactsHostnames` string[] — List of registry hostnames to which nondistributable artifacts can be pushed, using the format `<hostname>[:<port>]` or `<IP address>[:<port>]`. Some images (for example, Windows base images) contain artifacts whose distribution is restricted by license. When these images are pushed to a registry, restricted artifacts are not included. This configuration override this behavior for the specified registries. This option is useful when pushing images containing nondistributable artifacts to a registry on an air-gapped network so hosts on that network can pull the images without connecting to another server. > **Warning**: Nondistributable artifacts typically have restrictions > on how and where they can be distributed and shared. Only use this > feature to push artifacts to private registries and ensure that you > are in compliance with any terms that cover redistributing > nondistributable artifacts.
    - `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 (`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 selectd 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.
    - `Expected` string — Commit ID of external tool expected by dockerd as set at build time.
  - `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.
    - `Expected` string — Commit ID of external tool expected by dockerd as set at build time.
  - `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.
    - `Expected` string — Commit ID of external tool expected by dockerd as set at build time.
  - `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
  - `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.

## Other responses

- `500` — Server error

---

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