docker network prune -f 可安全删除所有未被任何容器(含已停止容器)引用的自定义网络,不删默认网络(bridge/host/none),是清理无用网络最稳妥的方式。

直接用 docker network rm 删除单个网络很简单,但“彻底删除无用网络”关键不在命令本身,而在清理前的判断和清理后的验证。默认网络(bridge、host、none)不会被误删,真正要处理的是你创建的自定义网络——它们可能残留、闲置、甚至被已停止容器悄悄占用。
确认哪些网络真的“无用”
先运行:docker network ls
重点看三列:NAME(名称)、DRIVER(驱动,通常是 bridge)、SCOPE(作用域,local 表示本机自建)。
凡是名字不是 bridge/host/none,且没有正在运行的容器连接(docker ps --format "{{.Networks}}" | grep -v "^$" | sort -u 可辅助查),基本就是可清理目标。
常见无用网络特征:
• 名字含项目名缩写但对应服务早已停用(如 myapp_default)
• 名字带时间戳或随机字符串(如 net_20240512_a1b2c3)
• docker inspect NETWORK_NAME 显示 "Containers": {} 且 "Internal": false
安全删除:优先用 prune
最稳妥方式是让 Docker 自动识别并清理未被任何容器(包括已停止的)引用的网络:docker network prune -f
它只删“真正闲置”的网络,不碰正在被引用的,也不会报错中断。适合日常维护,风险最低。
如果 prune 后仍有残留(比如某些网络被已停止但未删除的容器占着),说明容器还在系统里。此时需先清理容器:docker stop $(docker ps -aq) && docker rm $(docker ps -aq)
再执行一次 docker network prune -f,基本能清掉所有非默认网络。
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
强制删除:按 ID 批量清除
当明确知道所有自定义网络都要清空(比如重装环境),可用批量命令:docker network rm $(docker network ls -q --filter "type=custom")
这个 --filter "type=custom" 是关键,它只选中你创建的网络,自动跳过 bridge/host/none,比裸用 $(docker network ls -q) 更精准、更安全。
若提示 “has active endpoints”,说明还有容器连着它。这时不要硬删,回到上一步先清容器;或者加 -f 强制(仅限测试环境):docker network rm -f $(docker network ls -q --filter "type=custom")
验证是否清理干净
执行完清理后,务必验证:docker network ls
正常输出应只有三行:b3eeeb8bdf71 bridge bridge local20e8a8e2a993 host host localf453573780f0 none null local
如果还有其他行,说明有遗漏,可对照 NAME 列手动删:docker network rm 网络名
顺便检查是否有残留容器或卷:docker ps -a 和 docker volume ls,一并处理可避免后续网络重建失败。

















