{ "opencollection": "1.0.0", "info": { "name": "Docker Engine Config Image API", "version": "1.54" }, "items": [ { "info": { "name": "Image", "type": "folder" }, "items": [ { "info": { "name": "List Images", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/json", "params": [ { "name": "all", "value": "", "type": "query", "description": "Show all images. Only images from a final layer (no children) are shown by default." }, { "name": "filters", "value": "", "type": "query", "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the images list.\n\nAvailable filters:\n\n- `before`=(`[:]`, `` or ``)\n- `dangling=true`\n- `label=key` or `label=\"key=value\"` of an image label\n- `reference`=(`[:]`)\n- `since`=(`[:]`, `` or ``)\n- `until=`\n" }, { "name": "shared-size", "value": "", "type": "query", "description": "Compute and show shared size as a `SharedSize` field on each image." }, { "name": "digests", "value": "", "type": "query", "description": "Show digest information as a `RepoDigests` field on each image." }, { "name": "manifests", "value": "", "type": "query", "description": "Include `Manifests` in the image summary." }, { "name": "identity", "value": "", "type": "query", "description": "Include `Identity` in each manifest summary. Requires `manifests=1`." } ] }, "docs": "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image." }, { "info": { "name": "Build an image", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/build", "headers": [ { "name": "Content-type", "value": "" }, { "name": "X-Registry-Config", "value": "" } ], "params": [ { "name": "dockerfile", "value": "", "type": "query", "description": "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`." }, { "name": "t", "value": "", "type": "query", "description": "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters." }, { "name": "extrahosts", "value": "", "type": "query", "description": "Extra hosts to add to /etc/hosts" }, { "name": "remote", "value": "", "type": "query", "description": "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball." }, { "name": "q", "value": "", "type": "query", "description": "Suppress verbose build output." }, { "name": "nocache", "value": "", "type": "query", "description": "Do not use the cache when building the image." }, { "name": "cachefrom", "value": "", "type": "query", "description": "JSON array of images used for build cache resolution." }, { "name": "pull", "value": "", "type": "query", "description": "Attempt to pull the image even if an older image exists locally." }, { "name": "rm", "value": "", "type": "query", "description": "Remove intermediate containers after a successful build." }, { "name": "forcerm", "value": "", "type": "query", "description": "Always remove intermediate containers, even upon failure." }, { "name": "memory", "value": "", "type": "query", "description": "Set memory limit for build." }, { "name": "memswap", "value": "", "type": "query", "description": "Total memory (memory + swap). Set as `-1` to disable swap." }, { "name": "cpushares", "value": "", "type": "query", "description": "CPU shares (relative weight)." }, { "name": "cpusetcpus", "value": "", "type": "query", "description": "CPUs in which to allow execution (e.g., `0-3`, `0,1`)." }, { "name": "cpuperiod", "value": "", "type": "query", "description": "The length of a CPU period in microseconds." }, { "name": "cpuquota", "value": "", "type": "query", "description": "Microseconds of CPU time that the container can get in a CPU period." }, { "name": "buildargs", "value": "", "type": "query", "description": "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values.\n\nFor example, the build arg `FOO=bar` would become `{\"FOO\":\"bar\"}` in JSON. This would result in the query parameter `buildargs={\"FOO\":\"bar\"}`. Note that `{\"FOO\":\"bar\"}` should be URI component encoded.\n\n[Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)\n" }, { "name": "shmsize", "value": "", "type": "query", "description": "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB." }, { "name": "squash", "value": "", "type": "query", "description": "Squash the resulting images layers into a single layer. *(Experimental release only.)*" }, { "name": "labels", "value": "", "type": "query", "description": "Arbitrary key/value labels to set on the image, as a JSON map of string pairs." }, { "name": "networkmode", "value": "", "type": "query", "description": "Sets the networking mode for the run commands during build. Supported\nstandard values are: `bridge`, `host`, `none`, and `container:`.\nAny other value is taken as a custom network's name or ID to which this\ncontainer should connect to.\n" }, { "name": "platform", "value": "", "type": "query", "description": "Platform in the format os[/arch[/variant]]" }, { "name": "target", "value": "", "type": "query", "description": "Target build stage" }, { "name": "outputs", "value": "", "type": "query", "description": "BuildKit output configuration in the format of a stringified JSON array of objects.\nEach object must have two top-level properties: `Type` and `Attrs`.\nThe `Type` property must be set to 'moby'.\nThe `Attrs` property is a map of attributes for the BuildKit output configuration.\nSee https://docs.docker.com/build/exporters/oci-docker/ for more information.\n\nExample:\n\n```\n[{\"Type\":\"moby\",\"Attrs\":{\"type\":\"image\",\"force-compression\":\"true\",\"compression\":\"zstd\"}}]\n```\n" }, { "name": "version", "value": "", "type": "query", "description": "Version of the builder backend to use.\n\n- `1` is the first generation classic (deprecated) builder in the Docker daemon (default)\n- `2` is [BuildKit](https://github.com/moby/buildkit)\n" } ] }, "docs": "Build an image from a tar archive with a `Dockerfile` in it.\n\nThe `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/).\n\nThe Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if" }, { "info": { "name": "Delete builder cache", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/build/prune", "params": [ { "name": "reserved-space", "value": "", "type": "query", "description": "Amount of disk space in bytes to keep for cache" }, { "name": "max-used-space", "value": "", "type": "query", "description": "Maximum amount of disk space allowed to keep for cache" }, { "name": "min-free-space", "value": "", "type": "query", "description": "Target amount of free disk space after pruning" }, { "name": "all", "value": "", "type": "query", "description": "Remove all types of build cache" }, { "name": "filters", "value": "", "type": "query", "description": "A JSON encoded value of the filters (a `map[string][]string`) to\nprocess on the list of build cache objects.\n\nAvailable filters:\n\n- `until=` remove cache older than ``. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon's local time.\n- `id=`\n- `parent=`\n- `type=`\n- `description=`\n- `inuse`\n- `shared`\n- `private`\n" } ] }, "docs": "Delete builder cache" }, { "info": { "name": "Create an image", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/images/create", "headers": [ { "name": "X-Registry-Auth", "value": "" } ], "params": [ { "name": "fromImage", "value": "", "type": "query", "description": "Name of the image to pull. If the name includes a tag or digest, specific behavior applies:\n\n- If only `fromImage` includes a tag, that tag is used.\n- If both `fromImage` and `tag` are provided, `tag` takes precedence.\n- If `fromImage` includes a digest, the image is pulled by digest, and `tag` is ignored.\n- If neither a tag nor digest is specified, all tags are pulled.\n" }, { "name": "fromSrc", "value": "", "type": "query", "description": "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image." }, { "name": "repo", "value": "", "type": "query", "description": "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image." }, { "name": "tag", "value": "", "type": "query", "description": "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled." }, { "name": "message", "value": "", "type": "query", "description": "Set commit message for imported image." }, { "name": "changes", "value": "", "type": "query", "description": "Apply `Dockerfile` instructions to the image that is created,\nfor example: `changes=ENV DEBUG=true`.\nNote that `ENV DEBUG=true` should be URI component encoded.\n\nSupported `Dockerfile` instructions:\n`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`\n" }, { "name": "platform", "value": "", "type": "query", "description": "Platform in the format os[/arch[/variant]].\n\nWhen used in combination with the `fromImage` option, the daemon checks\nif the given image is present in the local image cache with the given\nOS and Architecture, and otherwise attempts to pull the image. If the\noption is not set, the host's native OS and Architecture are used.\nIf the given image does not exist in the local image cache, the daemon\nattempts to pull the image with the host's native OS and Architecture.\nIf the given image does exists in the local image cache, but its OS or\narchitecture does not match, a warning is produced.\n\nWhen used with the `fromSrc` option to import an image from an archive,\nthis option sets the platform information for the imported image. If\nthe option is not set, the host's native OS and Architecture are used\nfor the imported image.\n" } ] }, "docs": "Pull or import an image." }, { "info": { "name": "Inspect an image", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/:name/json", "params": [ { "name": "name", "value": "", "type": "path", "description": "Image name or id" }, { "name": "manifests", "value": "", "type": "query", "description": "Include Manifests in the image summary.\n\nThe `manifests` and `platform` options are mutually exclusive, and\nan error is produced if both are set." }, { "name": "platform", "value": "", "type": "query", "description": "JSON-encoded OCI platform to select the platform-variant.\nIf omitted, it defaults to any locally available platform,\nprioritizing the daemon's host platform.\n\nIf the daemon provides a multi-platform image store, this selects\nthe platform-variant to show inspect. If the image is\na single-platform image, or if the multi-platform image does not\nprovide a variant matching the given platform, an error is returned.\n\nThe `platform` and `manifests` options are mutually exclusive, and\nan error is produced if both are set.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`" } ] }, "docs": "Return low-level information about an image." }, { "info": { "name": "Get the history of an image", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/:name/history", "params": [ { "name": "name", "value": "", "type": "path", "description": "Image name or ID" }, { "name": "platform", "value": "", "type": "query", "description": "JSON-encoded OCI platform to select the platform-variant.\nIf omitted, it defaults to any locally available platform,\nprioritizing the daemon's host platform.\n\nIf the daemon provides a multi-platform image store, this selects\nthe platform-variant to show the history for. If the image is\na single-platform image, or if the multi-platform image does not\nprovide a variant matching the given platform, an error is returned.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`\n" } ] }, "docs": "Return parent layers of an image." }, { "info": { "name": "Push an image", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/images/:name/push", "headers": [ { "name": "X-Registry-Auth", "value": "" } ], "params": [ { "name": "name", "value": "", "type": "path", "description": "Name of the image to push. For example, `registry.example.com/myimage`.\nThe image must be present in the local image store with the same name.\n\nThe name should be provided without tag; if a tag is provided, it\nis ignored. For example, `registry.example.com/myimage:latest` is\nconsidered equivalent to `registry.example.com/myimage`.\n\nUse the `tag` parameter to specify the tag to push.\n" }, { "name": "tag", "value": "", "type": "query", "description": "Tag of the image to push. For example, `latest`. If no tag is provided,\nall tags of the given image that are present in the local image store\nare pushed.\n" }, { "name": "platform", "value": "", "type": "query", "description": "JSON-encoded OCI platform to select the platform-variant to push.\nIf not provided, all available variants will attempt to be pushed.\n\nIf the daemon provides a multi-platform image store, this selects\nthe platform-variant to push to the registry. If the image is\na single-platform image, or if the multi-platform image does not\nprovide a variant matching the given platform, an error is returned.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`\n" } ] }, "docs": "Push an image to a registry.\n\nIf you wish to push an image on to a private registry, that image must\nalready have a tag which references the registry. For example,\n`registry.example.com/myimage:latest`.\n\nThe push is cancelled if the HTTP connection is closed.\n" }, { "info": { "name": "Tag an image", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/images/:name/tag", "params": [ { "name": "name", "value": "", "type": "path", "description": "Image name or ID to tag." }, { "name": "repo", "value": "", "type": "query", "description": "The repository to tag in. For example, `someuser/someimage`." }, { "name": "tag", "value": "", "type": "query", "description": "The name of the new tag." } ] }, "docs": "Create a tag that refers to a source image.\n\nThis creates an additional reference (tag) to the source image. The tag\ncan include a different repository name and/or tag. If the repository\nor tag already exists, it will be overwritten.\n" }, { "info": { "name": "Remove an image", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/images/:name", "params": [ { "name": "name", "value": "", "type": "path", "description": "Image name or ID" }, { "name": "force", "value": "", "type": "query", "description": "Remove the image even if it is being used by stopped containers or has other tags" }, { "name": "noprune", "value": "", "type": "query", "description": "Do not delete untagged parent images" }, { "name": "platforms", "value": "", "type": "query", "description": "Select platform-specific content to delete.\nMultiple values are accepted.\nEach platform is a OCI platform encoded as a JSON string.\n" } ] }, "docs": "Remove an image, along with any untagged parent images that were\nreferenced by that image.\n\nImages can't be removed if they have descendant images, are being\nused by a running container or are being used by a build.\n" }, { "info": { "name": "Search images", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/search", "params": [ { "name": "term", "value": "", "type": "query", "description": "Term to search" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of results to return" }, { "name": "filters", "value": "", "type": "query", "description": "A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters:\n\n- `is-official=(true|false)`\n- `stars=` Matches images that has at least 'number' stars.\n" } ] }, "docs": "Search for an image on Docker Hub." }, { "info": { "name": "Delete unused images", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/images/prune", "params": [ { "name": "filters", "value": "", "type": "query", "description": "Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters:\n\n- `dangling=` When set to `true` (or `1`), prune only\n unused *and* untagged images. When set to `false`\n (or `0`), all unused images are pruned.\n- `until=` Prune images created before this timestamp. The `` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time.\n- `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels.\n" } ] }, "docs": "Delete unused images" }, { "info": { "name": "Create a new image from a container", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/commit", "params": [ { "name": "container", "value": "", "type": "query", "description": "The ID or name of the container to commit" }, { "name": "repo", "value": "", "type": "query", "description": "Repository name for the created image" }, { "name": "tag", "value": "", "type": "query", "description": "Tag name for the create image" }, { "name": "comment", "value": "", "type": "query", "description": "Commit message" }, { "name": "author", "value": "", "type": "query", "description": "Author of the image (e.g., `John Hannibal Smith `)" }, { "name": "pause", "value": "", "type": "query", "description": "Whether to pause the container before committing" }, { "name": "changes", "value": "", "type": "query", "description": "`Dockerfile` instructions to apply while committing" } ] }, "docs": "Create a new image from a container" }, { "info": { "name": "Export an image", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/:name/get", "params": [ { "name": "name", "value": "", "type": "path", "description": "Image name or ID" }, { "name": "platform", "value": "", "type": "query", "description": "JSON encoded OCI platform describing a platform which will be used\nto select a platform-specific image to be saved if the image is\nmulti-platform.\nIf not provided, the full multi-platform image will be saved.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`\n" } ] }, "docs": "Get a tarball containing all images and metadata for a repository.\n\nIf `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced.\n\n### Image tarball format\n\nAn image tarball contains [Content as defined in the OCI Image Layout Specification](https://github." }, { "info": { "name": "Export several images", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/images/get", "params": [ { "name": "names", "value": "", "type": "query", "description": "Image names to filter by" }, { "name": "platform", "value": "", "type": "query", "description": "JSON encoded OCI platform(s) which will be used to select the\nplatform-specific image(s) to be saved if the image is\nmulti-platform. If not provided, the full multi-platform image\nwill be saved.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`\n" } ] }, "docs": "Get a tarball containing all images and metadata for several image\nrepositories.\n\nFor each value of the `names` parameter: if it is a specific name and\ntag (e.g. `ubuntu:latest`), then only that image (and its parents) are\nreturned; if it is an image ID, similarly only that image (and its parents)\nare returned and there would be no names referenced in the 'repositories'\nfile for this image ID.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n" }, { "info": { "name": "Import images", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/images/load", "params": [ { "name": "quiet", "value": "", "type": "query", "description": "Suppress progress details during load." }, { "name": "platform", "value": "", "type": "query", "description": "JSON encoded OCI platform(s) which will be used to select the\nplatform-specific image(s) to load if the image is\nmulti-platform. If not provided, the full multi-platform image\nwill be loaded.\n\nExample: `{\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v5\"}`\n" } ] }, "docs": "Load a set of images and tags into a repository.\n\nFor details on the format, see the [export image endpoint](#operation/ImageGet).\n" } ] } ], "bundled": true }