最近试图在宿主机是windows,docker容器为ubuntu22.04的情况下进行多设备间的ros2通信,ros2通信的基础是需要两个设备之间能够ping通,经过一个星期的努力发现挺难的,记录下踩的坑,为后人节约时间。

1、windows不支持docker的host模式

The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

官方解释链接:

https://docs.docker.com/network/drivers/host/

2、Docker Desktop for Windows没法ping linux容器,

Docker Desktop can’t route traffic to Linux containers. However if you’re a Windows user, you can ping the Windows containers.

官网解释链接:

https://docs.docker.com/desktop/networking/#per-container-ip-addressing-is-not-possible

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐