Docker windows 容器启动失败 network not found

前几天由于重启了服务器,docker配置的网络出了些问题导致在docker容器中安装的mysql识别用户权限时发生错误。(从宿主机A以user身份 登入到容器B中安装的Mysql时,用户竟然不是user@A 导致没有表的写权限。)

在网上查找解决方法的时候手贱运行了 

1 docker network prune

结果把容器正在使用的网络给删除了。。。-_-||

导致再运行 docker start 启动容器的时候报错:Error response from daemon: network XXX not found

就算是create了新的transparent network 再connect 也无济于事,还是报同样的错误。

经过研究发现,就算网络已经被删除了,container在启动时依然会使用该网络。所以考虑先disconnect已经删除了的网络,再connect新建的网络。

1 docker network create -d transparent my-transparent-network2 
2 docker stop mysqltest #需要停止容器后在对network进行操作。
3 docker network disconnect my-transparent-network-1 mysqltest
4 docker network connect my-transparent-network mysqltest

然后再运行docker start 就可以正常启动container了。

猜你喜欢

转载自www.cnblogs.com/flyelephant/p/docker-windows-container-network-not-found.html