环境

windows11 wsl2 + docker desktop + ubuntu22.04

docker 拉取的 ubuntu 镜像是在原有 ubuntu22.04 的基础上自己 apt install 了一些常用工具的镜像。

问题

通过 docker 创建 ubuntu 容器 ubuntu_b,以下是其网络配置信息: Imgur

在宿主机中(wsl2 环境) ping ubuntu_b 的 ip ( 172.17.0.3 )无法 ping 通,但 ping 其网关( 172.17.0.1 )却 ping 的通.

宿主机( 172.20.166.206 ) ping ubuntu_b 容器: Imgur

同时用 tcpdump 抓包: Imgur

宿主机 ping 网关能通: Imgur

但在 ubuntu_b 中 ping 宿主机能够 ping 通: Imgur

ubuntu_b 中 ping 另一台 ubuntu 容器 ubuntu_c( 172.17.0.2 )也能够 ping 通,并且两者相互 ping 的通。 Imgur

尝试

自己查看了一些信息,也问了 deepseek ,主要还是说防火墙问题,但以上宿主机和 ubuntu 容器的防火墙都是默认接收所有流量的状态(这里贴的是 ubuntu_c 的,ubuntu_b 没有配置 root 权限无法查看,不过不影响问题的发生,ubuntu_c 同样有以上的问题): Imgur

求大佬解答一下!!!

举报· 415 次点击
登录 注册 站外分享
3 条回复  
ThreeSidedCoin 初学 4 天前
桥接网络?
zcion 楼主 初学 4 天前
@ThreeSidedCoin 是的,网络模式用的是默认设置
hwdq0012 初学 4 天前
wsl 默认是 nat docker 默认也是 nat docker 运行在 wsl 中(如果设置了 docker 和 wsl2 集成的话 host pin 子网 ubuntu ping 不通 是正常的 子网的 ubuntu ping Host 能 ping 能 ping 通,说明子网路由正确 wsl -l -v 可以看到一个 docker desktop 的实例, 你是在 docker desktop 里操作的吗 如果是,我觉得 wsl ping 不通 contianer 是因为 docker 和 wsl 都是 hyper v 的 平级的虚拟网络子网
返回顶部