Windows 使用 docker-compopse 报错 driver failed programming external connectivity

windows下使用docker的这个问题困扰我很久了,docker-compose 报错无法绑定相关的端口,重启docker也没有办法解决。

image-20200922124839628

解决的办法只有重启电脑或修改 docker-compose 中暴露的端口。不管哪种方式都非常的不灵活。

在Linux中其实也遇到过这样的问题,在docker正常运行后清除iptables也会得到类似的告警。这时候只要重启 docker 服务即可,相关的iptables链会重新生成,就没有问题了。

今天稍微查了相关资料,Windows下其实也是类似的做法,然而重启docker 应用并不能重启网络,这个就头疼的。最后解决的步骤如下:

  1. 停止相关应用

    docker-compose down
    
  2. 关闭docker服务。

    Close docker desktop.

    image-20200922125444744

  3. 任务管理器中杀死docker.service

    如下:

    68081121-b554ac80-fe43-11e9-9dd5-c09d59d38304

  4. 启动docker,会收到提示,运行docker服务。

    image-20200922125706615

    image-20200922125730931

  5. 启动应用

    docker-compose up -d
    
  6. 完成

参考资料


美团 - 月风_投资笔记 kubectl 命令备忘