docker network prune

描述

删除所有未被任何容器使用的网络。

此命令会清理那些用户创建但当前没有容器连接的网络(即“悬空”网络)。 内置网络(如 bridgehostnone永远不会被删除

用法

docker network prune [OPTIONS]

选项

| 选项 | 默认值 | 描述 | | --- | | ---- | | --filter | 无 | 按条件过滤要删除的网络(例如 until=1hlabel=env=dev) | | -f, --force | false | 跳过确认提示,直接执行删除 |

示例

1. 交互式清理未使用的网络

$ 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:
mynet1
mynet2

⚠️ 系统会提示确认。输入 y 才会执行删除。

2. 强制清理(无需确认)

适用于自动化脚本。

3. 使用 --filter 按条件清理

删除 5 分钟前创建 的未使用网络

✅ 注意:foo-1-min-ago 是 1 分钟前创建的,不满足 “5 分钟前” 条件,因此保留。

支持的时间格式:

  • Unix 时间戳1700000000

  • RFC3339 / ISO86012025-11-18T10:00:00Z

  • 本地时间格式2025-11-18T10:00(使用守护进程所在主机的时区)

  • Go 风格持续时间(相对当前时间):

    • 10m → 10 分钟前

    • 1h30m → 1 小时 30 分钟前

    • 24h → 24 小时前

按标签过滤

🔹 label=keylabel=key=value:仅删除包含该标签的网络 🔸 label!=keylabel!=key=value:仅删除不包含该标签的网络

注意事项

  • 只有用户自定义网络(通过 docker network create 创建)才可能被删除。

  • 如果某个网络仍有容器连接(即使容器已停止),它不会被删除

  • 此命令不会影响正在运行的服务或数据,但会移除网络配置。

  • 在 Swarm 模式下,prune 不会删除作用域为 swarm 的 overlay 网络,即使它们当前未被使用(因为 Swarm 可能稍后需要它们)。

最后更新于

这有帮助吗?