---
title: "Get data usage information"
method: GET
path: "/system/df"
tags: ["System"]
---

# Get data usage information

`GET /system/df`

## Query parameters

- `type` string[]

## Response `200`

no error

- object
  - `LayersSize` integer
  - `Images` ImageSummary[]
    - `Id` string, required — ID is the content-addressable ID of an image. This identifier is a content-addressable digest calculated from the image's configuration (which includes the digests of layers used by the image). Note that this digest differs from the `RepoDigests` below, which holds digests of image manifests that reference the image.
    - `ParentId` string, required — ID of the parent image. Depending on how the image was created, this field may be empty and is only set for images that were built/created locally. This field is empty if the image was pulled from an image registry.
    - `RepoTags` string[], required — List of image names/tags in the local image cache that reference this image. Multiple image tags can refer to the same image, and this list may be empty if no tags reference the image, in which case the image is "untagged", in which case it can still be referenced by its ID.
    - `RepoDigests` string[], required — List of content-addressable digests of locally available image manifests that the image is referenced from. Multiple manifests can refer to the same image. These digests are usually only available if the image was either pulled from a registry, or if the image was pushed to a registry, which is when the manifest is generated and its digest calculated.
    - `Created` integer, required — Date and time at which the image was created as a Unix timestamp (number of seconds sinds EPOCH).
    - `Size` integer, required — Total size of the image including all layers it is composed of.
    - `SharedSize` integer, required — Total size of image layers that are shared between this image and other images. This size is not calculated by default. `-1` indicates that the value has not been set / calculated.
    - `VirtualSize` integer — Total size of the image including all layers it is composed of. In versions of Docker before v1.10, this field was calculated from the image itself and all of its parent images. Images are now stored self-contained, and no longer use a parent-chain, making this field an equivalent of the Size field. Deprecated: this field is kept for backward compatibility, and will be removed in API v1.44.
    - `Labels` object, required — User-defined key/value metadata.
    - `Containers` integer, required — Number of containers using this image. Includes both stopped and running containers. This size is not calculated by default, and depends on which API endpoint is used. `-1` indicates that the value has not been set / calculated.
  - `Containers` ContainerSummary[]
    - `Id` string — The ID of this container
    - `Names` string[] — The names that this container has been given
    - `Image` string — The name of the image used when creating this container
    - `ImageID` string — The ID of the image that this container was created from
    - `Command` string — Command to run when starting the container
    - `Created` integer — When the container was created
    - `Ports` Port[] — The ports exposed by this container
      - `IP` string, ip-address — Host IP address that the container's port is mapped to
      - `PrivatePort` integer, required — Port on the container
      - `PublicPort` integer — Port exposed on the host
      - `Type` 'tcp' | 'udp' | 'sctp', required
    - `SizeRw` integer — The size of files that have been created or changed by this container
    - `SizeRootFs` integer — The total size of all the files in this container
    - `Labels` object — User-defined key/value metadata.
    - `State` string — The state of this container (e.g. `Exited`)
    - `Status` string — Additional human-readable status of this container (e.g. `Exit 0`)
    - `HostConfig` object
      - `NetworkMode` string
    - `NetworkSettings` object — A summary of the container's network settings
      - `Networks` object
    - `Mounts` MountPoint[]
      - `Type` 'bind' | 'volume' | 'tmpfs' | 'npipe' | 'cluster' — The mount type: - `bind` a mount of a file or directory from the host into the container. - `volume` a docker volume with the given `Name`. - `tmpfs` a `tmpfs`. - `npipe` a named pipe from the host into the container. - `cluster` a Swarm cluster volume
      - `Name` string — Name is the name reference to the underlying data defined by `Source` e.g., the volume name.
      - `Source` string — Source location of the mount. For volumes, this contains the storage location of the volume (within `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the source (host) part of the bind-mount. For `tmpfs` mount points, this field is empty.
      - `Destination` string — Destination is the path relative to the container root (`/`) where the `Source` is mounted inside the container.
      - `Driver` string — Driver is the volume driver used to create the volume (if it is a volume).
      - `Mode` string — Mode is a comma separated list of options supplied by the user when creating the bind/volume mount. The default is platform-specific (`"z"` on Linux, empty on Windows).
      - `RW` boolean — Whether the mount is mounted writable (read-write).
      - `Propagation` string — Propagation describes how mounts are propagated from the host into the mount point, and vice-versa. Refer to the [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt) for details. This field is not used on Windows.
  - `Volumes` Volume[]
    - `Name` string, required — Name of the volume.
    - `Driver` string, required — Name of the volume driver used by the volume.
    - `Mountpoint` string, required — Mount path of the volume on the host.
    - `CreatedAt` string, dateTime — Date/Time the volume was created.
    - `Status` object — Low-level details about the volume, provided by the volume driver. Details are returned as a map with key/value pairs: `{"key":"value","key2":"value2"}`. The `Status` field is optional, and is omitted if the volume driver does not support this feature.
    - `Labels` object, required — User-defined key/value metadata.
    - `Scope` 'local' | 'global', required — The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level.
    - `ClusterVolume` ClusterVolume — Options and information specific to, and only present on, Swarm CSI cluster volumes.
      - `ID` string — The Swarm ID of this volume. Because cluster volumes are Swarm objects, they have an ID, unlike non-cluster volumes. This ID can be used to refer to the Volume instead of the name.
      - `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
      - `UpdatedAt` string, dateTime
      - `Spec` ClusterVolumeSpec — Cluster-specific options used to create the volume.
        - `Group` string — Group defines the volume group of this volume. Volumes belonging to the same group can be referred to by group name when creating Services. Referring to a volume by group instructs Swarm to treat volumes in that group interchangeably for the purpose of scheduling. Volumes with an empty string for a group technically all belong to the same, emptystring group.
        - `AccessMode` object — Defines how the volume is used by tasks.
          - `Scope` 'single' | 'multi' — The set of nodes this volume can be used on at one time. - `single` The volume may only be scheduled to one node at a time. - `multi` the volume may be scheduled to any supported number of nodes at a time.
          - `Sharing` 'none' | 'readonly' | 'onewriter' | 'all' — The number and way that different tasks can use this volume at one time. - `none` The volume may only be used by one task at a time. - `readonly` The volume may be used by any number of tasks, but they all must mount the volume as readonly - `onewriter` The volume may be used by any number of tasks, but only one may mount it as read/write. - `all` The volume may have any number of readers and writers.
          - `MountVolume` object — Options for using this volume as a Mount-type volume. Either MountVolume or BlockVolume, but not both, must be present. properties: FsType: type: "string" description: | Specifies the filesystem type for the mount volume. Optional. MountFlags: type: "array" description: | Flags to pass when mounting the volume. Optional. items: type: "string" BlockVolume: type: "object" description: | Options for using this volume as a Block-type volume. Intentionally empty.
          - `Secrets` object[] — Swarm Secrets that are passed to the CSI storage plugin when operating on this volume.
            - `Key` string — Key is the name of the key of the key-value pair passed to the plugin.
            - `Secret` string — Secret is the swarm Secret object from which to read data. This can be a Secret name or ID. The Secret data is retrieved by swarm and used as the value of the key-value pair passed to the plugin.
          - `AccessibilityRequirements` object — Requirements for the accessible topology of the volume. These fields are optional. For an in-depth description of what these fields mean, see the CSI specification.
            - `Requisite` Topology[] — A list of required topologies, at least one of which the volume must be accessible from.
              - …
            - `Preferred` Topology[] — A list of topologies that the volume should attempt to be provisioned in.
              - …
          - `CapacityRange` object — The desired capacity that the volume should be created with. If empty, the plugin will decide the capacity.
            - `RequiredBytes` integer — The volume must be at least this big. The value of 0 indicates an unspecified minimum
            - `LimitBytes` integer — The volume must not be bigger than this. The value of 0 indicates an unspecified maximum.
          - `Availability` 'active' | 'pause' | 'drain' — The availability of the volume for use in tasks. - `active` The volume is fully available for scheduling on the cluster - `pause` No new workloads should use the volume, but existing workloads are not stopped. - `drain` All workloads using this volume should be stopped and rescheduled, and no new ones should be started.
      - `Info` object — Information about the global status of the volume.
        - `CapacityBytes` integer — The capacity of the volume in bytes. A value of 0 indicates that the capacity is unknown.
        - `VolumeContext` object — A map of strings to strings returned from the storage plugin when the volume is created.
        - `VolumeID` string — The ID of the volume as returned by the CSI storage plugin. This is distinct from the volume's ID as provided by Docker. This ID is never used by the user when communicating with Docker to refer to this volume. If the ID is blank, then the Volume has not been successfully created in the plugin yet.
        - `AccessibleTopology` Topology[] — The topology this volume is actually accessible from.
      - `PublishStatus` object[] — The status of the volume as it pertains to its publishing and use on specific nodes
        - `NodeID` string — The ID of the Swarm node the volume is published on.
        - `State` 'pending-publish' | 'published' | 'pending-node-unpublish' | 'pending-controller-unpublish' — The published state of the volume. * `pending-publish` The volume should be published to this node, but the call to the controller plugin to do so has not yet been successfully completed. * `published` The volume is published successfully to the node. * `pending-node-unpublish` The volume should be unpublished from the node, and the manager is awaiting confirmation from the worker that it has done so. * `pending-controller-unpublish` The volume is successfully unpublished from the node, but has not yet been successfully unpublished on the controller.
        - `PublishContext` object — A map of strings to strings returned by the CSI controller plugin when a volume is published.
    - `Options` object, required — The driver specific options used when creating the volume.
    - `UsageData` object, nullable — Usage details about the volume. This information is used by the `GET /system/df` endpoint, and omitted in other endpoints.
      - `Size` integer, required — Amount of disk space used by the volume (in bytes). This information is only available for volumes created with the `"local"` volume driver. For volumes created with other volume drivers, this field is set to `-1` ("not available")
      - `RefCount` integer, required — The number of containers referencing this volume. This field is set to `-1` if the reference-count is not available.
  - `BuildCache` BuildCache[]
    - `ID` string — Unique ID of the build cache record.
    - `Parent` string, nullable — ID of the parent build cache record. > **Deprecated**: This field is deprecated, and omitted if empty.
    - `Parents` string[], nullable — List of parent build cache record IDs.
    - `Type` 'internal' | 'frontend' | 'source.local' | 'source.git.checkout' | 'exec.cachemount' | 'regular' — Cache record type.
    - `Description` string — Description of the build-step that produced the build cache.
    - `InUse` boolean — Indicates if the build cache is in use.
    - `Shared` boolean — Indicates if the build cache is shared.
    - `Size` integer — Amount of disk space used by the build cache (in bytes).
    - `CreatedAt` string, dateTime — Date and time at which the build cache was created in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
    - `LastUsedAt` string, dateTime, nullable — Date and time at which the build cache was last used in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
    - `UsageCount` integer

## 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)
