如何删除不存在的docker网络?

如何删除不存在的docker网络?

我有一个包含 3 个节点的 docker swarm 配置。只有一个节点上有网络。在该特定节点上,docker network ls显示网络,docker network rm [network-id]显示“守护进程的错误响应:网络...未找到“同时docker network inspect [network-id]显示网络,它看起来非常好(范围:群,驱动程序:覆盖)。与我并行创建的测试网络完全一样,以便与之进行比较。有人有什么想法吗?我怎样才能摆脱那个网络僵尸?

答案1

我怎样才能摆脱那个网络僵尸?

请尝试以下操作。

docker network inspect <id> or <name>

在容器下,你可以看到所有仍连接到网络的容器

docker network disconnect -f <networkID> <endpointName> or <endpointId> try both

接下来删除所有未使用的网络

docker network prune

帮我解决了这个问题;)

答案2

我在尝试跨 docker compose 实例连接容器时,在我的开发环境中遇到了类似的问题(与 swarm 无关)。我尝试了多次停止/启动 compose、终止容器、删除镜像、修剪网络和重新启动 docker,但都以各种顺序进行,但都不起作用。

最后,在其他 Compose 实例启动时,我在有问题的实例上运行了以下命令,做过工作:

docker system prune

此项删除(根据警告):

  • 所有停止的容器
  • 所有未被至少一个容器使用的网络
  • 所有悬垂图像
  • 所有悬垂构建缓存

相关内容