哪位大神玩过 Docker Desktop(Win)里的 Docker IP 和 Win 宿主机之间的互通吗? 按教程没成功

2020-08-10 19:38:16 +08:00
 xiaoyanbot

https://www.pianshen.com/article/35251276782/

按照这个教程里的添加路由的方式没有成功。

无论是 Hyper-V 和 WSL2 后端,都无法成功。

奇怪的是,可以从 Docker 内部 ping 通 Hyper-V 网卡的 IP, 但是无法从 Win Ping 通 172 开头的 IP

2466 次点击
所在节点    问与答
8 条回复
xiaoyanbot
2020-08-10 19:49:14 +08:00
两个容器之间是通的, 即 172.17.0.2 和 172.17.0.3 之间是通的
albert0yyyy
2020-08-10 19:55:51 +08:00
docker 和 windows 宿主机我试过数据库通信,填 host.docker.internal,就这么一串,挺疑惑的
xiaoyanbot
2020-08-10 20:09:33 +08:00
使用 -p 90:90 这样的端口映射,可以正常映射出来
xiaoyanbot
2020-08-10 20:21:19 +08:00
发现可以通过 wsl -d docker-desktop 进入 docker-desktop 的 WSL 虚拟机
putaozhenhaochi
2020-08-10 21:04:35 +08:00
--network=host
xiaoyanbot
2020-08-10 21:40:00 +08:00
@putaozhenhaochi

谢谢指点

好像在 Win 版本的 docker desktop 上,会忽略这个参数
xiaoyanbot
2020-08-10 21:40:25 +08:00
目前先用多映射出来几个端口备用的方式,先用着了。
Jirajine
2020-08-10 21:47:31 +08:00
你这种方式相当于从 docker 主机外访问 docker 容器,对 docker 来说是很不安全的操作,所以默认情况下 docker 会操作宿主机上的 iptables 丢弃掉转发到 docker 容器的流量。
在 docker 的宿主虚拟机上执行:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -I FORWARD -j ACCEPT

建议不要在非 Linux 系统上用 docker 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/697171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX