windows宿主机访问docker容器ip无法ping通

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows宿主机访问docker容器ip无法ping通相关的知识,希望对你有一定的参考价值。

windows宿主机访问docker容器ip无法ping通

容器IP

技术图片

ping容器IP

C:WINDOWSsystem32>ping 172.17.0.2

正在 Ping 172.17.0.2 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

172.17.0.2的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

排查原因:

  1. 防火墙

    开始一直认为防火墙有问题,试了一下容器的防火墙,根本无法操作,因为没有权限,关了宿主机防火墙,故障依旧

  2. 路由

    网上很多说是路由的问题,开始排查一下思路,是不是宿主机到容器的路由不通,于是添加了一个路由

    route add 172.17.0.0 mask 255.255.0.0. 172.17.0.1 不行

    route add 172.17.0.0 mask 255.255.0.0 192.168.0.149 宿主机IP149 不行

    看了一个docker的设置

技术图片

技术图片

docker 的网桥,网关是10.0.75.1 尝试一下添加这个路由

C:WINDOWSsystem32>route add 172.17.0.0/16 mask 255.255.255.0 10.0.75.2 -p
操作完成!

测试ping 172.17.0.2

C:WINDOWSsystem32>ping 172.17.0.2

正在 Ping 172.17.0.2 具有 32 字节的数据:
来自 172.17.0.2 的回复: 字节=32 时间<1ms TTL=63
来自 172.17.0.2 的回复: 字节=32 时间<1ms TTL=63
来自 172.17.0.2 的回复: 字节=32 时间<1ms TTL=63
来自 172.17.0.2 的回复: 字节=32 时间<1ms TTL=63

172.17.0.2 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

C:WINDOWSsystem32>

以上是关于windows宿主机访问docker容器ip无法ping通的主要内容,如果未能解决你的问题,请参考以下文章

Windows下Docker主机网络容器服务访问

Docker-端口映射

docker容器跑起mysql后,在宿主机无法进去mysql?

Docker一台服务器部署多容器,容器A无法通过宿主机外网ip访问另外一个容器B分析

docker容器访问

无法通过容器的 ip 和通过 http 暴露的端口访问 Docker 容器中的 Web 应用程序