docker for mac 如何从容器内部访问宿主机局域网的 mysql?

2019-11-13 15:33:30 +08:00
 nervebing

如题

容器内 ping docker.for.mac.host.internal 是可以 ping 通宿主机的

容器内 ip 是 172.18.0.2

宿主机的局域网 ip 是 172.18.22.16

请问如何才能从容器内访问到宿主机局域网的服务呢?

6714 次点击
所在节点    Docker
3 条回复
qsnow6
2019-11-13 15:58:44 +08:00
能 ping 说明可以通信,直接加端口连
xupefei
2019-11-13 16:03:04 +08:00
首先你得确认 mysql 监听了 172.18.22.16 这个 ip。

另外我记得在哪儿看过,因为 docker for mac 用了一层 linux 虚拟机,所以 docker0 网桥和主机是不通的。内部到外部需要连接真实网卡 ip。
lusun
2020-07-09 14:55:54 +08:00
docker for mac 的话,宿主主机的 Ip 不能使用 127.0.0.1 或 localhost,因为这会让容器在自己内部找,要访问宿主主机上的 Mysql,地址需要填:host.docker.internal

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

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

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

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

© 2021 V2EX