nervebing
V2EX  ›  Docker

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

  •  
  •   nervebing · Nov 13, 2019 · 7623 views
    This topic created in 2400 days ago, the information mentioned may be changed or developed.

    如题

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

    容器内 ip 是 172.18.0.2

    宿主机的局域网 ip 是 172.18.22.16

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

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

    另外我记得在哪儿看过,因为 docker for mac 用了一层 linux 虚拟机,所以 docker0 网桥和主机是不通的。内部到外部需要连接真实网卡 ip。
    lusun
        3
    lusun  
       Jul 9, 2020
    docker for mac 的话,宿主主机的 Ip 不能使用 127.0.0.1 或 localhost,因为这会让容器在自己内部找,要访问宿主主机上的 Mysql,地址需要填:host.docker.internal
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   926 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:40 · PVG 04:40 · LAX 13:40 · JFK 16:40
    ♥ Do have faith in what you're doing.