command: docker network prune short: Remove all unused networks long: |- Remove all unused networks. Unused networks are those which are not referenced by any containers. usage: docker network prune [OPTIONS] pname: docker network plink: docker_network.yaml options: - option: filter value_type: filter description: Provide filter values (e.g. 'until=') deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false - option: force shorthand: f value_type: bool default_value: "false" description: Do not prompt for confirmation deprecated: false experimental: false experimentalcli: false kubernetes: false swarm: false examples: |- ```bash $ docker network prune WARNING! This will remove all custom networks not used by at least one container. Are you sure you want to continue? [y/N] y Deleted Networks: n1 n2 ``` ### Filtering The filtering flag (`--filter`) format is of "key=value". If there is more than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "bif=baz"`) 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 relative to the daemon machine’s time. Supported formats for date formatted time stamps include RFC3339Nano, RFC3339, `2006-01-02T15:04:05`, `2006-01-02T15:04:05.999999999`, `2006-01-02Z07:00`, and `2006-01-02`. The local timezone on the daemon will be used if you do not provide either a `Z` or a `+-00:00` timezone offset at the end of the timestamp. When providing Unix timestamps enter seconds[.nanoseconds], where seconds is the number of seconds 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: ```bash $ docker network ls NETWORK ID NAME DRIVER SCOPE 7430df902d7a bridge bridge local ea92373fd499 foo-1-day-ago bridge local ab53663ed3c7 foo-1-min-ago bridge local 97b91972bc3b host host local f949d337b1f5 none null local $ docker network prune --force --filter until=5m Deleted Networks: foo-1-day-ago $ docker network ls NETWORK ID NAME DRIVER SCOPE 7430df902d7a bridge bridge local ab53663ed3c7 foo-1-min-ago bridge local 97b91972bc3b host host local f949d337b1f5 none null local ``` deprecated: false min_api_version: "1.25" experimental: false experimentalcli: false kubernetes: false swarm: false