docker network prune
描述
删除所有未被任何容器使用的网络。
此命令会清理那些用户创建但当前没有容器连接的网络(即“悬空”网络)。 内置网络(如 bridge、host、none)永远不会被删除。
用法
docker network prune [OPTIONS]选项
| 选项 | 默认值 | 描述 | | --- | | ---- | | --filter | 无 | 按条件过滤要删除的网络(例如 until=1h、label=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 按条件清理
--filter 按条件清理删除 5 分钟前创建 的未使用网络
✅ 注意:
foo-1-min-ago是 1 分钟前创建的,不满足 “5 分钟前” 条件,因此保留。
支持的时间格式:
Unix 时间戳:
1700000000RFC3339 / ISO8601:
2025-11-18T10:00:00Z本地时间格式:
2025-11-18T10:00(使用守护进程所在主机的时区)Go 风格持续时间(相对当前时间):
10m→ 10 分钟前1h30m→ 1 小时 30 分钟前24h→ 24 小时前
按标签过滤
🔹
label=key或label=key=value:仅删除包含该标签的网络 🔸label!=key或label!=key=value:仅删除不包含该标签的网络
注意事项
只有用户自定义网络(通过
docker network create创建)才可能被删除。如果某个网络仍有容器连接(即使容器已停止),它不会被删除。
此命令不会影响正在运行的服务或数据,但会移除网络配置。
在 Swarm 模式下,
prune不会删除作用域为swarm的 overlay 网络,即使它们当前未被使用(因为 Swarm 可能稍后需要它们)。
最后更新于
这有帮助吗?