xiaoyanbot
V2EX  ›  问与答

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

  •  
  •   xiaoyanbot · Aug 10, 2020 · 2964 views
    This topic created in 2145 days ago, the information mentioned may be changed or developed.

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

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

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

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

    8 replies    2020-08-10 21:47:31 +08:00
    xiaoyanbot
        1
    xiaoyanbot  
    OP
       Aug 10, 2020
    两个容器之间是通的, 即 172.17.0.2 和 172.17.0.3 之间是通的
    albert0yyyy
        2
    albert0yyyy  
       Aug 10, 2020
    docker 和 windows 宿主机我试过数据库通信,填 host.docker.internal,就这么一串,挺疑惑的
    xiaoyanbot
        3
    xiaoyanbot  
    OP
       Aug 10, 2020
    使用 -p 90:90 这样的端口映射,可以正常映射出来
    xiaoyanbot
        4
    xiaoyanbot  
    OP
       Aug 10, 2020
    发现可以通过 wsl -d docker-desktop 进入 docker-desktop 的 WSL 虚拟机
    putaozhenhaochi
        5
    putaozhenhaochi  
       Aug 10, 2020
    --network=host
    xiaoyanbot
        6
    xiaoyanbot  
    OP
       Aug 10, 2020
    @putaozhenhaochi

    谢谢指点

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

    建议不要在非 Linux 系统上用 docker 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5230 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 09:11 · PVG 17:11 · LAX 02:11 · JFK 05:11
    ♥ Do have faith in what you're doing.