一键清除所有 Docker 网络(除了默认网络)
Docker 默认有 3 个系统网络:
-
bridge
-
host
-
none
这三个不能删,也不应该删。
你可以用下面命令删除所有自定义网络:
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
就会清除所有自定义网络。
如果你想强制删除所有网络(包括正在使用的)
先停止所有容器:
docker stop $(docker ps -aq)
删除所有容器:
docker rm $(docker ps -aq)
然后删除所有网络:
docker network rm $(docker network ls -q)
⚠ 注意: 这条命令会尝试删除所有网络,但 Docker 会自动保护默认网络(bridge/host/none),所以不会误删。
最推荐的"安全清理"流程
网络冲突,我建议你按这个顺序来:
✔ 第一步:停止所有容器
docker stop $(docker ps -aq)
✔ 第二步:删除所有容器
docker rm $(docker ps -aq)
✔ 第三步:删除所有自定义网络
docker network prune -f
或者更彻底:
docker network rm $(docker network ls -q)
(默认网络不会被删)
✔ 第四步:检查是否清理干净
docker network ls
你应该只看到:
bridge
host
none