From 5b0ab45a1ef2ce52e78851f49a8390263e642263 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Mon, 10 Apr 2017 11:08:40 -0700 Subject: [PATCH] Update docs of `label` filter for `docker system prune` This fix updates docs of `label` filter for `docker system prune`. This fix is related to #30740 and #29999, and specifically to comment https://github.com/docker/docker/pull/30740#issuecomment-293012957. Signed-off-by: Yong Tang --- api/swagger.yaml | 4 ++++ docs/api/version-history.md | 1 + docs/reference/commandline/container_prune.md | 6 ++++++ docs/reference/commandline/image_prune.md | 6 ++++++ docs/reference/commandline/network_prune.md | 6 ++++++ docs/reference/commandline/system_prune.md | 6 ++++++ docs/reference/commandline/volume_prune.md | 20 +++++++++++++++++-- 7 files changed, 47 insertions(+), 2 deletions(-) diff --git a/api/swagger.yaml b/api/swagger.yaml index 5de9e67d0f..e25bde2147 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -4393,6 +4393,7 @@ paths: Available filters: - `until=` Prune containers 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. + - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune containers with (or without, in case `label!=...` is used) the specified labels. type: "string" responses: 200: @@ -5083,6 +5084,7 @@ paths: unused *and* untagged images. When set to `false` (or `0`), all unused images are pruned. - `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. + - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune images with (or without, in case `label!=...` is used) the specified labels. type: "string" responses: 200: @@ -6186,6 +6188,7 @@ paths: Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: + - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. type: "string" responses: 200: @@ -6554,6 +6557,7 @@ paths: Available filters: - `until=` Prune networks 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. + - `label` (`label=`, `label==`, `label!=`, or `label!==`) Prune networks with (or without, in case `label!=...` is used) the specified labels. type: "string" responses: 200: diff --git a/docs/api/version-history.md b/docs/api/version-history.md index 6f212afb18..f6c51bcf08 100644 --- a/docs/api/version-history.md +++ b/docs/api/version-history.md @@ -27,6 +27,7 @@ keywords: "API, Docker, rcli, REST, documentation" * `GET /networks/` now supports a `scope` filter to filter networks based on the network mode (`swarm`, `global`, or `local`). * `POST /containers/create`, `POST /service/create` and `POST /services/(id or name)/update` now takes the field `StartPeriod` as a part of the `HealthConfig` allowing for specification of a period during which the container should not be considered unhealthy even if health checks do not pass. * `GET /services/(id)` now accepts an `insertDefaults` query-parameter to merge default values into the service inspect output. +* `POST /containers/prune`, `POST /images/prune`, `POST /volumes/prune`, and `POST /networks/prune` now support a `label` filter to filter containers, images, volumes, or networks based on the label. The format of the label filter could be `label=`/`label==` to remove those with the specified labels, or `label!=`/`label!==` to remove those without the specified labels. ## v1.28 API changes diff --git a/docs/reference/commandline/container_prune.md b/docs/reference/commandline/container_prune.md index 724057cf2c..72488901ed 100644 --- a/docs/reference/commandline/container_prune.md +++ b/docs/reference/commandline/container_prune.md @@ -54,6 +54,7 @@ than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "b The currently supported filters are: * until (``) - only remove containers created before given timestamp +* label (`label=`, `label==`, `label!=`, or `label!==`) - only remove containers with (or without, in case `label!=...` is used) the specified labels. The `until` filter can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed @@ -67,6 +68,11 @@ that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a fraction of a second no more than nine digits long. +The `label` filter accepts two formats. One is the `label=...` (`label=` or `label==`), +which removes containers with the specified labels. The other +format is the `label!=...` (`label!=` or `label!==`), which removes +containers without the specified labels. + The following removes containers created more than 5 minutes ago: ```bash diff --git a/docs/reference/commandline/image_prune.md b/docs/reference/commandline/image_prune.md index e9cae8c6a9..f3b1545407 100644 --- a/docs/reference/commandline/image_prune.md +++ b/docs/reference/commandline/image_prune.md @@ -76,6 +76,7 @@ than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "b The currently supported filters are: * until (``) - only remove images created before given timestamp +* label (`label=`, `label==`, `label!=`, or `label!==`) - only remove images with (or without, in case `label!=...` is used) the specified labels. The `until` filter can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed @@ -89,6 +90,11 @@ that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a fraction of a second no more than nine digits long. +The `label` filter accepts two formats. One is the `label=...` (`label=` or `label==`), +which removes images with the specified labels. The other +format is the `label!=...` (`label!=` or `label!==`), which removes +images without the specified labels. + The following removes images created before `2017-01-04T00:00:00`: ```bash diff --git a/docs/reference/commandline/network_prune.md b/docs/reference/commandline/network_prune.md index 12d1caac08..9ef541061d 100644 --- a/docs/reference/commandline/network_prune.md +++ b/docs/reference/commandline/network_prune.md @@ -42,6 +42,7 @@ than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "b The currently supported filters are: * until (``) - only remove networks created before given timestamp +* label (`label=`, `label==`, `label!=`, or `label!==`) - only remove networks with (or without, in case `label!=...` is used) the specified labels. The `until` filter can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed @@ -55,6 +56,11 @@ that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a fraction of a second no more than nine digits long. +The `label` filter accepts two formats. One is the `label=...` (`label=` or `label==`), +which removes networks with the specified labels. The other +format is the `label!=...` (`label!=` or `label!==`), which removes +networks without the specified labels. + The following removes networks created more than 5 minutes ago. Note that system networks such as `bridge`, `host`, and `none` will never be pruned: diff --git a/docs/reference/commandline/system_prune.md b/docs/reference/commandline/system_prune.md index 3e5ff413bc..e09fec4d7f 100644 --- a/docs/reference/commandline/system_prune.md +++ b/docs/reference/commandline/system_prune.md @@ -76,6 +76,7 @@ than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "b The currently supported filters are: * until (``) - only remove containers, images, and networks created before given timestamp +* label (`label=`, `label==`, `label!=`, or `label!==`) - only remove containers, images, networks, and volumes with (or without, in case `label!=...` is used) the specified labels. The `until` filter can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed @@ -89,6 +90,11 @@ that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (aka Unix epoch or Unix time), and the optional .nanoseconds field is a fraction of a second no more than nine digits long. +The `label` filter accepts two formats. One is the `label=...` (`label=` or `label==`), +which removes containers, images, networks, and volumes with the specified labels. The other +format is the `label!=...` (`label!=` or `label!==`), which removes +containers, images, networks, and volumes without the specified labels. + ## Related commands * [volume create](volume_create.md) diff --git a/docs/reference/commandline/volume_prune.md b/docs/reference/commandline/volume_prune.md index a9c4b70fc4..7a1ae76c69 100644 --- a/docs/reference/commandline/volume_prune.md +++ b/docs/reference/commandline/volume_prune.md @@ -21,8 +21,9 @@ Usage: docker volume prune [OPTIONS] Remove all unused volumes Options: - -f, --force Do not prompt for confirmation - --help Print usage + --filter filter Provide filter values (e.g. 'label=