使用win docker-desktop,想连接容器开发,尝试了各种网络上的路子。kill my much time!
桥接是不行的,
手动添加路由也是行不通的,
所以看到这个的你不要想用常规的方法使用win宿主机连接你的linux容器,截止2020.3.29
查看原因 Networking features in Docker Desktop for Windows
也就是说 目前不支持win与linux容器使用桥接通信。
不过端口映射还是可以的,就是添加端口多的话 有点麻烦。
致我逝去的好几个小时。
另外
可以在宿主机 使用vscode 的remote-dev 直接访问容器 突然发现好香 完成了我开发的困难
终于可以b2w 好幸福
btw 我是因为电脑的显卡与tensorflow怎么配都配不上,然后vm不支持显卡 但是docker支持显卡,才最后成了win+docker+vscode的完美套装(随后还是发现 docker-desktop目前对于Linux不支持显卡:( )
补充:win10宿主机下ping不通Docker容器, 同时Docker创建静态IP
解决方法
添加Docker所在网关IP到宿主机路由上
// CMD 管理员模式
// 172.19.0.0 是我自己创建, 需要根据你的改变
route add 172.19.0.0/16 mask 255.255.255.0 10.0.75.2 -p //永久路由,否则重启则没有
win: 查看路由 route print
Docker网关:
Docker创建静态IP
// Docker分配静态ip必须 要自己自定义网络,默认网络不行
docker network create --subnet=172.19.0.0/16 mynet //2的16次方 都用
docker run -itd --name nginx2 --net mynet --ip 172.19.0.1 ubuntu
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。