首页 > 解决方案 > 我需要从 docker 容器中删除已删除的网络

问题描述

我正在本地机器(所有窗口)上使用 docker。为了允许我的容器访问我的网络中的其他资源,我创建了一个新网络并为其提供了所需的路由/网关信息。

重新启动我的机器以安装 VPN(与我的 docker 容器无关)后,网络消失了,并且连接到该网络的所有容器都拒绝以此错误启动:

DockerDo:来自守护进程的错误响应:找不到网络 0935c770e7e107c64e3255eaa56de2d2fce90aab108682196d4e2960a2fe5726

有没有办法从容器断开网络“重启后”?或者使用该 ID 重新创建网络就可以了。

编辑:我已经厌倦了使用断开命令。要么 ID 未翻译,要么我不知道应该告诉 docker 断开连接。这是直接从我的 PS 控制台复制的:

C:\WINDOWS\system32> docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
4661e7886520        nat                 nat                 local
bad4235f0598        none                null                local
C:\WINDOWS\system32> docker start BACH-dev
Error response from daemon: network 0935c770e7e107c64e3255eaa56de2d2fce90aab108682196d4e2960a2fe5726 not found
Error: failed to start containers: BACH-dev
C:\WINDOWS\system32> docker network disconnect 0935c770e7e107c64e3255eaa56de2d2fce90aab108682196d4e2960a2fe5726 BACH-dev
Error response from daemon: container 24bfd23804c7a95a923d0626c41f4c949317cb34a45cb81bc430dc2fa96037ae is not connected to the network 0935c770e7e107c64e3255eaa56de2d2fce90aab108682196d4e2960a2fe5726

标签: docker

解决方案


尝试从容器中恢复数据的一种可能选择(我不是 100% 确定它可以在您的特定情况下工作......)。

  1. 从停止的容器状态创建图像
    docker commit my_stopped_container my_recovery_img:latest
    
  2. 删除当前容器
    docker rm my_stopped_container
    
  3. 从转储的图像重新创建容器
    docker run [your_options] --name my_stopped_container my_recovery_img:latest [your command]
    

同时,您应该通过将关键数据保护在卷或绑定挂载上来确保不会再次陷入这种情况。


推荐阅读