V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nervebing
V2EX  ›  Docker

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

  •  
  •   nervebing · 2019-11-13 15:33:30 +08:00 · 6688 次点击
    这是一个创建于 1597 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题

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

    容器内 ip 是 172.18.0.2

    宿主机的局域网 ip 是 172.18.22.16

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

    3 条回复    2020-07-09 14:55:54 +08:00
    qsnow6
        1
    qsnow6  
       2019-11-13 15:58:44 +08:00 via iPhone
    能 ping 说明可以通信,直接加端口连
    xupefei
        2
    xupefei  
       2019-11-13 16:03:04 +08:00 via iPhone
    首先你得确认 mysql 监听了 172.18.22.16 这个 ip。

    另外我记得在哪儿看过,因为 docker for mac 用了一层 linux 虚拟机,所以 docker0 网桥和主机是不通的。内部到外部需要连接真实网卡 ip。
    lusun
        3
    lusun  
       2020-07-09 14:55:54 +08:00
    docker for mac 的话,宿主主机的 Ip 不能使用 127.0.0.1 或 localhost,因为这会让容器在自己内部找,要访问宿主主机上的 Mysql,地址需要填:host.docker.internal
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1231 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:04 · PVG 02:04 · LAX 11:04 · JFK 14:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.